我想使用 SSIS 包将信息从 excel 电子表格加载到数据库,并且当电子表格没有更改时,该包可以正常工作。
此任务的要求之一是让用户在电子表格上添加评论。电子表格中已经有一个评论列,因此用户只需向该列添加评论。
当他们保存编辑的电子表格并运行包时,Excel Source 抱怨外部列不同步,更奇怪的是,显示的列数Mapping
少于原始电子表格。
是什么原因造成的,我该如何解决它,以便我可以在 SSIS 中将这个包作为计划作业自动运行?
尝试删除到列名的自动映射。
在 excel 源中,有一个选项可以选择第一行是否有列名。配置映射后,将其设置为 false。它应该可以解决问题,但是您的转换现在将失败,因为它将第一行视为数据行,因此您可以配置输出错误以避免包失败,或者以某种方式从 excel 文件中删除第一行。您可以添加条件拆分来做到这一点。
发现问题:我的电子表格前面有几个小的空列。我的猜测是,当用户将信息保存回来时,这些列会被 excel(?)删除,因此这些列发生了移动,导致它与包不同步。
我也遇到了这个错误,原因是一张表没有某些映射列的数据。一旦我在excel表中删除了该列然后运行。包成功运行。我认为这也会对你们中的任何人有所帮助。