图解SSIS批量导入Excel文件的实现方法

所属分类: 数据库 / MsSql 阅读数: 1651
收藏 0 赞 0 分享
将一个目录下(可以包括子目录)结构一样的excel文件批量导入sql2005,可以用ssis来定制任务.下面用大量图片完全说明整个过程.

1、建立测试excel文件,假设有a b c d四个字段,保存在f:/excel目录下

 并复制很多个一样的文件

2、打开Microsoft Visual Studio 2005或者随sql2005安装的SQL Server Business Intelligence Development Studio,新建一个商业智能项目。

3、工具箱拖一个Foreach循环容器

4、编辑容器,设定遍历目录和其他参数

5、新建一个映射变量,用来存储遍历当中的文件路径

6、怎么存储不用你关心,你只要指定一个变量名就ok了

7、确定后,容器生成完毕,接着拖一个数据流任务到容器中


8、切换到数据流tab页,拖一个excel源

9、编辑excel源,选择一个刚刚的任意excel

10、选择一个sheet

11、拖一个ole db目标到数据流中

12、按住excel源的绿色箭头,拖动到oledb目标上

13、编辑oledb目标,选择一个sqlserver数据表,这个表必须是已经存在的,这里我们建立一个ssistest数据库,生成一个和excel结构一样的表tt
create table tt(a varchar(100),b varchar(100),c varchar(100),d varchar(100))
然后用oledb去连接


14、编辑字段映射关系,结构一样,它会自动找到

15、编辑下面的excel链接管理器,这里将用到foreach的变量来代替刚刚选择的那个excel文件

16、连接管理器的属性中设置变量的映射用法

17、expressions的属性编辑列表中,左边选择 excelfilepath,这个是连接管理器的属性,我们将用变量来代替

18、再点击表达式的属性编辑按钮,把列表中的变量用户::xlspath变量拖到下面的表达式框中

19、这时ssis将会报错,并给出警告

20、上图中黄颜色的区域,右键-属性,打开控制流的属性窗口,设置DelayValidation为True就可以了。


经过以上20步的配置,整个过程就结束了,你可以按下F5看看效果,文件夹下所有的excel将被批量导入数据库。另外可以通过sqlserver的作业来调用ssis的包实现定期自动把目录下的excel导入数据库。
更多精彩内容其他人还在看

对有insert触发器表取IDENTITY值时发现的问题

赶快查了下msdn,原来@@IDENTITY还有这么多讲究
收藏 0 赞 0 分享

SQL SERVER 查询正在实行的SQL语句

SQL SERVER 查询正在实行的SQL语句的实现代码
收藏 0 赞 0 分享

sql 随机抽取几条数据的方法 推荐

前段时间在做项目的时刻。总是遇到这样一个问题。就是要怎么去让首页显示的内容不断的变化。想了很久。也没有什么结果。后面去想了一下。得出以下一个结果
收藏 0 赞 0 分享

sql 多条件组合查询,并根据指定类别找出所有最小子类别的SQL语句备忘

多条件组合查询,并根据指定类别找出所有最小子类别的SQL语句备忘
收藏 0 赞 0 分享

Java 实现连接sql server 2000

JDBC技术事实上是一种能通过JAVA语言访问任何结构化数据库的应用程序接口(API)(Sun这样说的,我也不知道是不是真的),而且现在的JDBC 3.0据Sun说也能访问Execel等电子表格程序!
收藏 0 赞 0 分享

SQL Server 不存在或访问被拒绝(转)

在使用 SQL Server 的过程中,用户遇到最多的问题莫过于连接失败了。一般而言,有两种连接SQL Server 的方式,一是利用 SQL Server 自带的客户端工具
收藏 0 赞 0 分享

分页查询 效率最高

给大家分享个效率最高的分页查询 5000万级别有效 比 ROWNUMBER 和Top效率高
收藏 0 赞 0 分享

sqlserver 系统存储过程 中文说明

sqlserver 系统存储过程这样大家就知道这些存储过程的作用了。
收藏 0 赞 0 分享

sql 多表连接查询

sql 多表连接查询语句代码,大家可以参考下。
收藏 0 赞 0 分享

SQL SERVER 自增列

判断Table是否存在自增列(Identity column)
收藏 0 赞 0 分享
查看更多