使用SSIS将数据从电子表格加载到数据库时,Excel Source不同步

时间:2012-05-01 16:35:16

标签: excel ssis

我想使用SSIS包将excel电子表格中的信息加载到数据库中,当电子表格没有更改时,包可以正常工作。

此任务的一项要求是让用户在电子表格上添加评论。电子表格中已有一列评论,因此用户只需向该列添加评论。

当他们保存已编辑的电子表格并运行包时,Excel Source会抱怨外部列不同步,更奇怪的是,Mapping中显示的列数少于原始电子表格。

导致此问题的原因以及如何解决此问题,以便我可以自动将此程序包作为SSIS中的预定作业运行?

3 个答案:

答案 0 :(得分:1)

尝试删除自动映射到列名称。

在excel源上,有一个选项可以选择第一行是否有列名。配置映射后,将其设置为false。它应该解决问题,但您的转换现在将失败,因为它会将第一行视为数据行,因此您要么配置输出错误以避免程序包失败,要么以某种方式从excel文件中删除第一行。您可以添加条件拆分来执行此操作。

答案 1 :(得分:1)

发现问题:我的电子表格前面有几个小的空列。我的猜测是,当用户将信息保存回来时,这些列会被excel(?)删除,因此列会移动,导致它与包取消同步。

答案 2 :(得分:0)

我也收到此错误,原因是一张纸没有某些映射列的数据。一旦我删除了Excel工作表中的该列,然后运行。程序包成功运行。我认为这也会对您的功能有所帮助。