SSIS数据流任务Excel源

时间:2010-04-22 11:09:57

标签: excel ssis

我在SSIS中设置了数据流任务。

源来自Excel源而非SQL DB。

我似乎得到的问题是,包正在导入空行。

我的数据包含555200行的数据,但是在导入SSIS包时导入超过900,000行。即使其他行为空,也会导入额外的行。

当我将此表格下载到Excel中时,数据之间会有空行。

无论如何我可以避免这种情况吗?

由于

杰拉德

2 个答案:

答案 0 :(得分:0)

最好的办法。如果可以,将数据导出到平面文件,csv或tab,然后将其读入。问题是即使这些行为空,它们也不是空的。因此,当您跳过ODBC-Excel桥时,您将这些行作为空白。

您可以调整生成电子表格的方式以消除此问题或手动删除行。这些解决方案的问题在于它们在长期内不具有可扩展性或可维护性。你也将被困在那个摇摇欲坠的ODBC桥上。最好的长期解决方案是避免完全使用ODBC-Excel桥。通过将数据转储到平面文件,您可以完全控制如何读取,验证和解释数据。你将不会受到翻译层的摆布,这一天到目前为止充满了错误,并且在最好的时候是“古怪的”

答案 1 :(得分:0)

您还可以在数据流任务中,在源任务和目标任务之间添加条件拆分组件。在这里,检查somecolumn是空还是空 - 某些内容是一致的 - 意味着每个有效行,它有一些数据,并且对于每个无效行,它都是空的或为空。

然后丢弃该条件的输出,将其余行发送到目的地。然后,您应该只从Excel中获取包含有效数据的行数。