用DTS导入多个文件数据到SQL Server中
作者 佚名技术
来源 数据库编程
浏览
发布时间 2012-03-20
在我们工作中,经常需要将保存在文件中的数据导入到SQL Serve的表中。有时可能需要同时从相同或不相同的文件目录中导入多个文件的数据到SQL Server中。这里我们将讨论如何使用批处理文件和DTS从一个特定的文件目录中,导入多个文件的数据到SQLServer中。 试验环境 我们先创建整个试验的环境。创建文件目录“C:\MyImport”,和三个文件a.csv、b.csv和c.csv,文件内容如下。同时,在SQL Server中创建一个表用来存放导入的数据。 C:\MyImport\a.csv 1, MAK, A9411792711, 3400.25 2, Claire, A9411452711, 24000.33 3, Sam, A5611792711, 1200.34 4, Wright, A5611792711, 1200.34 5, Richard, G561d792755, 1223.34 6, Valarie, B5611792788, 1240.32 C:\MyImport\b.csv 11, Rubon, 9671792711, 400.14 22, Mike, 9418952711, 4000.56 39, Hsu, 75611792511, 1230.00 C:\MyImport\c.csv 69, Lucy, 8411992710, 305.11 45, Grace, 3413452713, 246.52 33, Saint, 5461795716, 1278.70 Create Database Bank Go Use Bank go Create table Account([ID] int, Name Varchar(100), AccountNo varchar(100), Balance money) Go Create table logtable (id int identity(1,1), Status varchar(500), Importeddate datetime default getdate()) Go use master go sp_addlogin ’importuser’,’import’,’Bank’ go use Bank go sp_adduser ’importuser’ go sp_addrolemember ’db_datareader’,’importuser’ go sp_addrolemember ’db_datawriter’,’importuser’ go 创键DTS 1、在DTS中创建3个全局变量,FileName、ServerName和DatabaseName。 2、创建Text File (Source) 和SQL Server连接,并创建数据转换任务,如下图所示。 3、设置数据转换的对应关系如下图。 4、创建动态属性任务(dynamic tasks):连接InputFile中,设置Catalog的值为全局变量DatabaseName,DataSource的值为全局变量FileName;连接SQLServer中,设置DataSource的值为全局变量ServerName。 5、增加一个“成功时”的工作流在动态属性任务和连接InputFile之间。 6、如下图那样,创建一个执行SQL任务,来保存数据导入的记录。 SQL为INSERT INTO LogTable (Status) VALUES (?) 点击参数,来设置参数,设置参数1为全局变量FileName。 7、增加一个“成功时”的工作流在连接SQLServer和执行SQL任务之间。 8、将DTS包保存成结构化存储文件。你也可以保存在SQL Server中,但我们这里只讨论保存成结构化存储文件的方式。 创建批处理文件 如下所示创建批处理文件C:\MyImport\Im |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: Sqlserver中的一些技巧下一篇: SQL Server 安全检查列表
关于用DTS导入多个文件数据到SQL Server中的所有评论