SSIS脚本任务查找数据



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

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

我已经做了什么:

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

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

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

最新更新