扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:csdn 来源:csdn 2009年12月18日
关键字: MS-SQL Server 问答
关于循环导入excel文件到SQL Server 2005
一个目录中有多个Excel文件,每个EXCEL文件中有不定个数的工作表,工作表名称也可能不同,但是每个工作表的结构是相同的,所有文件中的工作表都导入同一个表中。如何实现?
我现在采用两个FOREACH循环嵌套的方式,可以循环目录中所有的文件,但是仅限于所有的工作表跟源表具有相同的架构,即有同样数量的工作表,相同的顺序和相同的工作表名称。
我的思路是:这个问题大概是卡在使用ADO.NET架构行集进行枚举,所以所有的文件都必须同源具有相同的架构,如果能动态地指定Foreach循环的源就好了。
能不能采用包配置输出这个连接字符串,然后在下一次循环之前修改包配置文件,将下一个Excel文件的名字替换上一次循环的Excel文件名称?好像SSIS组件中的文件系统不能修改文件中的内容,有没有其他办法呢?
你先保证能够实现如下两篇文章的内容
批量导入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来枚举所以会出错
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者