循环导入excel文件到SQL Server 2005

来源:互联网 发布:旧沙发改造知乎 编辑:程序博客网 时间:2024/05/16 11:14

关于循环导入excel文件到SQL Server 2005
http:
//topic.csdn.net/u/20081125/18/9007115f-b276-4ca6-b3a7-12db9aa983d5.html

/*
一个目录中有多个Excel文件,每个EXCEL文件中有不定个数的工作表,工作表名称也可能不同,
但是每个工作表的结构是相同的,所有文件中的工作表都导入同一个表中。如何实现?
我现在采用两个FOREACH循环嵌套的方式,可以循环目录中所有的文件,但是仅限于所有的工作表跟源表具有相同的架构,
即有同样数量的工作表,相同的顺序和相同的工作表名称。

多谢!
*/

你先保证能够实现如下两篇文章的内容
批量导入excel文件
http:
//blog.csdn.net/jinjazz/archive/2008/07/25/2710169.aspx
循环工作表
http:
//blog.csdn.net/jinjazz/archive/2008/07/28/2722987.aspx

然后理解一下其中变量的用法,批量导入的时候用到一个用户::xlsFile变量,循环工作表使用了一个用户::table变量,
在第二篇文章中有一个细节是编辑excel数据源链接的Expressions,第16到18步。这个用法是把excel的链接改为变量定义。

同理在枚举excel文件之后,嵌套一个枚举excel架构的容器,然后把枚举链接的Expressions里面的servername
属性改为用户::xlsFile就可以了。没有这个步骤你会永远钉着一个excel来枚举所以会出错

图解,我已经测试通过了

--------------------------------------------------------------------
0029 -- CSDN 精华帖之 关于循环导入excel文件到SQL Server 2005_1.jpg
--
------------------------------------------------------------------
如果是sql2005,作etl或者普通数据迁移的时候还是提倡多使用ssis,他在管理,可配置和迁移上都要远远方便于dts或者普通的sql语句.

这是我工作中的一个ssis包,虽然算不上复杂,但是如果不用ssis做资源整合将会很难管理.

--------------------------------------------------------------------
0029 -- CSDN 精华帖之 关于循环导入excel文件到SQL Server 2005_2.jpg
--
------------------------------------------------------------------

我上传了ssis设计包,感兴趣的朋友可以下载看下
http:
//download.csdn.net/source/810313