2015-05-29 122 views
0

想要一些想法如何实现下面的逻辑吗?SSIS脚本任务查找数据

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

我迄今所做的:

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

回答

0

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

希望这会有所帮助。