用DTS导入多个文件数据到SQL Server中

7eltcj9gn7k4yv

7eltcj9gn7k4yv

2016-01-29 16:42

用DTS导入多个文件数据到SQL Server中,用DTS导入多个文件数据到SQL Server中
在我们工作中,经常需要将保存在文件中的数据导入到SQL Serve的表中。有时可能需要同时从相同或不相同的文件目录中导入多个文件的数据到SQL Server中。这里我们将讨论如何使用批处理文件和DTS从一个特定的文件目录中,导入多个文件的数据到SQLServer中。 
    试验环境
  我们先创建整个试验的环境。创建文件目录“C:MyImport”,和三个文件a.csv、b.csv和c.csv,文件内容如下。同时,在SQL Server中创建一个表用来存放导入的数据。
    C:MyImporta.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:MyImportb.csv
    11, Rubon, 9671792711, 400.14
    22, Mike, 9418952711, 4000.56
    39, Hsu, 75611792511, 1230.00
    C:MyImportc.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:MyImportImport.bat。
    REM Type: Batch File
    REM Created by: Digjim
    REM Import all csv files to SQL Server using DTS
 
    REM Export DIR listing to C:MyImportDirlist.txt
    dir c:MyImport*.csv /b  C:MyImportDirlist.txt
 
    REM Execute DTS package for every file name in the Dirlist.txt

    for /f "tokens=1,2,3" %%i in (C:MyImportDirlist.txt) do "C:Program FilesMicrosoft SQL Server80ToolsBinnDTSrun.exe" -F "c:myimportmyimportdts1.dts" -U importuser -P import –A
展开更多 50%)
分享

猜你喜欢

用DTS导入多个文件数据到SQL Server中

SQLServer
用DTS导入多个文件数据到SQL Server中

用T-SQL导入文件数据到SQL Server

SQLServer
用T-SQL导入文件数据到SQL Server

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

将MySQL数据导入到Sql Server中

编程语言 网络编程
将MySQL数据导入到Sql Server中

Excel数据导入到Access,Sql Server中示例代码

Web开发
Excel数据导入到Access,Sql Server中示例代码

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

将Excel中的数据导入到SQL Server 2000数据库中

SQLServer
将Excel中的数据导入到SQL Server 2000数据库中

SQL Server导出导入数据方法

SQLServer
SQL Server导出导入数据方法

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

《我叫MT Online》精英本与英雄本取舍攻略

《我叫MT Online》精英本与英雄本取舍攻略

备份服务器端SQL SERVER数据库至本地目录

备份服务器端SQL SERVER数据库至本地目录
下拉加载更多内容 ↓