2012-05-01 27 views
3

我想使用SSIS包将excel电子表格中的信息加载到数据库中,并且当电子表格不更改时工作正常。当使用SSIS将电子表格中的数据加载到数据库时Excel Source不同步问题

此任务的一项要求是让用户在电子表格中添加注释。电子表格中已有评论列,所以用户只需在该列中添加评论即可。

当他们保存编辑的电子表格和我运行该程序包,将Excel源抱怨说,外部列是不同步的,并且甚至更奇怪的是,被在Mapping所示的列数小于原始电子表格。

是什么导致了这种情况,我该如何解决这个问题,以便我可以在SSIS中自动运行该程序包作为计划作业?

回答

1

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

+0

用户的excel版本是否与你的相匹配?我遇到过这个问题很多次了。 – rvphx

+0

是的,整个公司使用相同的版本(2007)。电子表格由报告生成,但不知道这是否有所作为。 – confusedKid

+0

我在过去发现的一件事是,我的Excel表总是有额外的行和列自动附加到它。只要我在BIDS中加载该软件包,就会抱怨同步问题。所以我的猜测是,让数据以某种方式附加额外的行和列的过程。为了检查这个异常,我总是使用预览数据功能。 – rvphx

1

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

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

+0

我刚刚按照您的建议尝试过,但BIDS仍然抱怨同步。 – confusedKid

相关问题