SSIS脚本任务查找数据

时间:2015-05-29 13:27:30

标签: ssis

想要一些想法如何实现以下逻辑?

这个问题与SSIS包有关。 我正在阅读固定宽度的平面文件,它将包含至少500行。我在SQL中有一个查找表,只有两列ID和描述。如果任何平面文件行包含查找表描述列数据,则不应处理这些行。

到目前为止我做了什么:

我正在使用脚本任务并将查阅列数据加载到数据读取器中。并检查脚本任务中输入文件的每一列以查看它是否包含数据读取器项,然后不处理该行。我知道这给了我糟糕的表现,所以我只需要一个方法来解决这个问题。我不是要求解决方案。 如果您需要有关此问题的更多信息,请告诉我。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,正在读取的平面文件包含所有列,但"查找表描述"列将为NULL或填充?如果是这种情况,那么更简单的替代方法是在数据库中创建临时表。当SSIS包运行时,首先将其截断,然后使用平面文件的内容重新填充。这应该很快运行。然后使用MERGE命令应用SQL任务将记录从登台导入到不包含查找表描述列数据的最终表。我已多次使用登台表和登台数据库,因为它还提供了一种更简单的方法来验证是否正在从源中正确读取所有数据,并自动主动检查源自源的潜在数据问题。

否则,如果源平面文件中的行数与行之间不同("查找表描述"列是否存在),那么您的脚本任务是最好的方法。

希望这有帮助。