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

使用DTS导入Excel表中的数据     近日,工作关系涉及将Excel表中的数据导入SQL SERVER数据库中,先将自己在过程中的心得总结如下:<!--v/:* {behavior:url(#default#VML);}o/:* {behavior:url(#default#VML);}w/:* {behavior:url(#default#VML);}.shape {behavior:url(#def 阅读详情

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

    在我们工作中,经常需要将保存在文件中的数据导入到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/Import.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:/MyImport/Dirlist.txt
    dir c:/MyImport/*.csv /b > C:/MyImport/Dirlist.txt
 
    REM Execute DTS package for every file name in the Dirlist.txt

    for /f "tokens=1,2,3" %%i in (C:/MyImport/Dirlist.txt) do "C:/Program Files/Microsoft SQL Server/80/Tools/Binn/DTSrun.exe" -F "c:/myimport/myimportdts1.dts" -U importuser -P import –A "ServerName"="DIGJIM" -A "FileName"="c:/myimport/%%i" -A "DatabaseName"="Bank"

    REM Rename all the files with "old" as suffix
    ren c:/myimport/*.csv *.oldcsv

  执行批处理文件
   当批处理文件被执行以后,他会在C:/MyImport目录下产生一个DirList.txt的文件,这个文件会包含所有C:/MyImport下扩展名为CSV的文件,这些文件名会和其他必须的参数一气传输给DTSrun.exe。在这个例子里,DirList.txt的内容如下:
    C:/MyImport/DirList.txt
    acsv
    b.csv
    c.csv

   注意,在批处理文件中,根据你自己的情况设置ServerName,FileName和DatabaseName参数。
 
  结果
   现在你可以去你的数据库看结果,
   批处理输入的数据:

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

11

 Rubon

9671792711

400.14

22

 Mike

9418952711

4000.56

39

 Hsu

75611792511

1230

69

 Lucy

8411992710

305.11

45

 Grace

3413452713

246.52

33

 Saint

5461795716

1278.7

     在logtable中记录的Log。

1

c:/myimport/a.csv

2004-4-19 1:16

2

c:/myimport/b.csv

2004-4-19 1:16

3

c:/myimport/c.csv

2004-4-19 1:16

如果你把DTS包存储在SQL Server中,批处理文件就这样写:
     REM Type: Batch File
     REM Created by: Digjim
     REM Import all csv files to SQL Server using DTS
 
     REM Export DIR listing to C:/MyImport/Dirlist.txt
     dir c:/MyImport/*.csv /b > C:/MyImport/Dirlist.txt
 
     REM Execute DTS package for every file name in the Dirlist.txt

     for /f "tokens=1,2,3" %%i in (C:/MyImport/Dirlist.txt) do "C:/Program Files/Microsoft SQL Server/80/Tools/Binn/DTSrun.exe" –S "SQL" –N "myimportdts" -U importuser -P import –A "ServerName"="DIGJIM" -A "FileName"="c:/myimport/%%i" -A "DatabaseName"="Bank" 

     REM Rename all the files with "old" as suffix
     ren c:/myimport/*.csv *.oldcsv

 

参考:

使用T-SQL导入多个文件数据到SQL Server中

SQL Server 2008 Support DTS Design 默认 SQL Server 2008 R2 的Management Studio不支持查看和修改DTS。 会出现如下错误:   因此需要额外安装一些组件来支持: 1.安装Microsoft SQL Server 2005 Backward Compatibility Components (SQLServer2005_BC_x64) 如果是32位系统,从这里下载: http:/ 阅读详情

相关推荐

SQL2005-2008DTS支持

有些2000到2008传输数据需要DTS,就需要用到这个工具来了

阿里云 DTS迁移自建SQL Server注意事项

当完整备份数据库的时候,我们有时候可能会遇到一种极端情况,比如服务器上C,D,E三个盘符都只剩下5G空间了 但是如果要完整备份业务库需要12G的空间,那么这时候怎么办呢? 使用文件组备份吗?但是数据库没有做表分区,没有分多个文件组,就只有一个主文件组啊 这时候我们可以使用备份文件分割 我使用自己机器示范一下,我的机器上有一个Temp2的数据库,数据库大小为1GB 备份 我们做一个Temp2数据库的完整备份 DECLARE @CurrentTime VARCHAR(50),..

Hehuyi_In的博客 2474

将txt导入到sql server

详细介绍了将txt文本文件导入sql server数据库,主要是将txt文本数据导入数据库,形成数据记录,然后可以使用数据库进行查询及处理。

SQL Server的DTS

摘要:SQL Server的DTS是早期ETL工具,支持异构数据迁移和转换,通过图形界面设计数据流处理清洗、格式转换等。2005年后被SSIS取代,后者增强错误处理、数据流组件和.NET扩展。建议新项目使用SSIS,遗留DTS包可通过迁移向导转换,但复杂逻辑需手动调整。SSIS在性能和扩展性上更优,适合现代数据集成需求。(149字)

RulesChen的博客 339

通过批处理和DTS自动将数据导入SQL SERVER数据库

自动将数据导入SQL SERVER数据库

SQL Server从DTS到SSIS

详细讲述SQL Server数据库复制功能在不用版本中的迁移。请注意,这个一个英文资料。

SQL Server中使用DTS设计器进行数据转移

以SQL Server中的Northwind示范数据库为例,利用DTS设计器,进行数据的转移。   转移任务的步骤:   1. 新建目的数据库NOrthwind_DTS   2. 激活DTS设计器     在Enterprise Manager上右击数据转换服务图表->新建包,将弹出一个新的窗口。   3. 创建数据源与目的地     在

lsynb的专栏 1065

SQLServer2005 DTS 补丁(For SQL Server 2000 DTS)

SQLServer2005 DTS 补丁(For SQL Server 2000 DTS)

sql server中三种导入导出数据方式(SQL语句、bcp、dts)

当我们建立一个数据库时,并且想将分散在各处的不同类型的数据库分类汇总在这个新建的数据库中时,尤其是在进行数据检验、净化和转换时,将会面临很大的挑战。幸好sql server为我们提供了强大、丰富的数据导入导出功能,并且在导入导出的同时可以对数据进行灵活的处理。  在sql server中主要有三种方式导入导出数据:使用Transact-SQL对数据进行处理;调用命令行工具BCP处理数据;使用数

也想快乐的生活 9815

LM358实战:手把手教你搭建电流检测电路(附电阻选型计算)

本文详细解析了使用LM358运算放大器搭建电流检测电路的全过程,包括基础原理、采样电阻选型、放大电路设计及PCB布局技巧。通过实战案例和精确计算,帮助工程师快速掌握低成本、高精度的电流检测方案,适用于电源管理、电机控制等多种应用场景。

weixin_30872157的博客 451

ESXI添加硬盘时提示 无法创建 VMFS 数据存储 - 无法更改主机配置

ESXI添加硬盘时提示 无法创建 VMFS 数据存储 - 无法更改主机配置1.打开ESXI的SSH2.找到不能添加的硬盘路径3.用SSH操作 1.打开ESXI的SSH 2.找到不能添加的硬盘路径 我的是第一个,找到你要添加但是不能添加的那个硬盘,点进去。 完整的路劲为:1/2 比如我的: /vmfs/devices/disks/t10.ATA_____ST500LT0122D1DG142___________________________________S3PHRNHQ (比较长哈!) 3.用SSH

AI_DOG的博客 2万+

SQL SERVER 与ACCESS、EXCEL的数据转换

熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact-SQL语句进行导入导出操作。在Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明

玄鐵劍 的專欄 960

软考29-上午题-【数据结构】-排序

数据结构7种排序

qq_31532983的博客 1580

用dts导入多个文件数据到sql server中(转)

在我们工作中,经常需要将保存在文件中的数据导入到sql serve的表中。有时可能需要同时从相同或不相同的文件目录中导入多个文件的数据到sql server中。这里我们将讨论如何使用批处理文件和dts从一个特定的文件目录中,导入...

cuankuangzhong6373的博客 366

在YOLO中扩充新类别并且不影响旧类的识别精度

让我们先从简单的部分开始:用我们的新类训练自定义 YOLOv8 模型。在本教程中,我们将向模型添加车牌类。我们将使用Roboflow 中的一个数据集。这个数据集有两个车牌类。在开始训练之前,我们还必须对库进行一些更改。为了节省时间,我还将本教程中我们将进行的更改转换为补丁该补丁包含多项更改,但大多数更改都用于指南的下一部分。if RANK!= -1:是的,我们将编写一个回调。我们希望将此自定义训练模型的头部与 COCO 预训练模型中的旧头部一起使用。

如果想成为中心,那么就到中心去吧。 1226

18、Excel VBA编程:自定义函数创建与代码调试全攻略

本文详细介绍了Excel VBA中自定义函数的创建方法,以获取单元格注释为例演示了完整开发流程,并深入讲解了代码调试的重要性与核心工具。内容涵盖三种主要错误类型及其应对策略,系统介绍了调试工具栏、断点、逐行执行、Locals窗口、Immediate窗口等实用功能。通过综合案例展示了如何运用调试技术解决实际问题,并总结了提前规划、逐步测试、日志记录等最佳实践,帮助读者提升VBA编程效率与代码质量。

life6的博客 101

如何使用SQL Server导入和导出向导将数据导入/导出到SQL Server

This article will explain the steps for importing and exporting data using the SQL Server Import and Export Wizard. 本文将介绍使用SQL Server导入和导出向导导入和导出数据的步骤。 Depending on the options that are s...

culuo4781的博客 1万+

世界职业院校技能大赛商贸赛道项目参考逐字稿一

商贸赛道“智选优品”—基于大数据与AI驱动的跨境电商平台项目参考逐字稿您订阅本专栏后即可`永久享有所有文章的查阅权`,希望我们更新的参考资料能帮助到您。如果您需要我们团队赋能培训可联系我(企业一线工程师及国一获奖选手在线培训支持:每周直播精讲(可回放,支持弹幕答疑)、代码Review+技术售后(拉群随时问,12h内响应)、④路演PPT+答辩话术一对一点评,评委视角提前彩排、适合:中职/高职赛项选手、指导老师带队、校企工作室、整校打包另谈(可开发票))

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 1594

【SQL SERVER中关于大容量数据的导入导出总结】

博文地址 请进:http://blog.youkuaiyun.com/feixianxxx/archive/2010/03/29/5427485.aspx1。关于大容量数据导入导出的一些方法SQL SERVER提供多种工具用于各种数据源的数据导入导出,这些数据源包括本文文件、ODBC数据源、OLE DB数据源、ASCII文本文件和EXCEL电子表格。2.常用工具DTS:数据转换服务导入导出向导或者DTS设

leixg的专栏 5882

【GeoDa实用技巧100例】024:geoda计算全局(局部)莫兰指数Moran‘s I,LISA聚类地图,显著性地图

【GeoDa实用技巧100例】024:geoda计算全局(局部)莫兰指数Moran's I,单变量莫兰指数,双变量莫兰指数计算,LISA聚类地图,显著性地图,Geoda双变量莫兰指数是一种强大的地理空间数据分析工具。

智慧空间实验室 6052

ros_gz_bridge__镜像__readme

Run。

1113

SQL Server中六种数据移动的方法(重点讲解DTS)

 1.通过工具DTS的设计器进行导入或导出 DTS的设计器功能强大,支持多任务,也是可视化界面,容易操作,但知道的人一般不多,如果只是进行中部分表的移动,用这种方法最好,当然,也可以进行全部表的移动。在SQL Server Entrise Manager中,展开左边的+,选择数据库,右击,选择All tasks/Import Data...(或All tasks/Export Data...),进

上海夜未眠 2879

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

[转载]利用SQL Server的DTS操作EXCEL、Access等数据表的导入导出

熟悉SQL SERVER 2000的数据库管理员都知道,其DTS可以进行数据的导入导出,其实,我们也可以使用Transact-SQL语句进行导入导出操作。在Transact-SQL语句中,我们主要使用OpenDataSource函数、OPENROWSET 函数,关于函数的详细说明,请参考SQL联机帮助。利用下述方法,可以十分容易地实现SQL SERVER、ACCESS、EXCEL数据转换,详细说明

zhuweiwei的专栏 1866

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

用SQL Server企业管理器将数据导入/导出Excel表

几乎所有的数据库管理者或者是与数据库打过交道的朋友,几乎都或多或少的了解并使用过数据导入导出的功能以便完成支持诸如数据合并、归档和分析等任务,以及开发应用程序或升级数据库或服务器,而这一切的便利都已经被SQL Server中的数据转换服务(DTS)囊括其中,它提供了一套图形化工具和可编程对象,以帮助管理员和开发人员和需要进行数据维护的人员解决数据移动问题,其中包括将数据从分散的数据源中提取出来,并

godpreserve的专栏 1万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

SQL Server 2000中的数据转换服务 (DTS)

摘要: 为了完成数据合并、存档和分析等任务;为了进行应用程序开发;为了进行数据库或服务器升级,数据库管理员经常需要导入、导出以及转换数据。SQL Server 2000 中的数据转换服务(DTS)为此提供了一组图形化工具和可编程对象,能够帮助管理员和开发人员解决从不同来源到单个或多个目标的数据转移问题,包括数据提取、转换以及合并。您可以将任务、工作流操作和限制条件组成 DTS数据包,然后安排定

杨义贤心灵驿站 1747
上一篇: DBA的最佳选择—图形界面还是T-SQL命令?
下一篇: 使用T-SQL导入多个文件数据到SQL Server中
DigJim
博客等级 码龄24年 9粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值