【问题标题】:SSIS Script task lookup dataSSIS 脚本任务查找数据
【发布时间】:2015-05-29 13:27:30
【问题描述】:

想了解如何实现以下逻辑吗?

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

到目前为止我做了什么:

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

【问题讨论】:

    标签: ssis


    【解决方案1】:

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

    否则,如果源平面文件中的列数因行而异(“查找表描述”列是否存在),那么您的脚本任务是最好的方法。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-02
      • 2012-03-13
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多