【问题标题】:SSIS derived column not updating into databaseSSIS 派生列未更新到数据库中
【发布时间】:2019-10-23 08:05:11
【问题描述】:

我有一个 SSIS 包,它从 csv 文件中获取数据,经过数据转换以转换数据类型,然后导入数据库。

我想在将列导入数据库之前从列中删除部分字符串,因此我包含了派生列转换。

我把派生列任务放在数据转换任务之前。我将派生列设置为替换我要更改的列,然后放入我的表达式以替换字符串的一部分。

然后进行数据转换,然后进行导入数据库任务。当我查询数据库时,它已将第 1 列字段中的所有数据放入第 2 列字段中,它没有将派生数据按应有的方式放入第 2 列字段中,因为这些字段都已正确映射。

还有其他人遇到过这个吗?

【问题讨论】:

  • 一些显示数据流任务和数据映射的包中的屏幕截图有助于理解问题
  • 您是否 100% 正确映射了某些列,例如:alias of derived column -->column2
  • @Ven 是的,我相信。我将 [派生列] 设置为替换“列 2”,将 [派生列名称] 设置为“列 2”。然后在我的数据转换任务中,我将 [input Column] 作为 'Column2' [output Alias] 作为 'Copy of Column2' 然后在我的 OLE DB 目标映射中我有 [input column] 'Copy of Column2' [Destination Column] 'Column2 '
  • 我只能想到第 1 列中的逗号值。对于 CSV,我总是更喜欢将原始数据捕获到临时表中,然后插入到实际表中。您实际上可以想到 CSV 文件的所有可能性,因为我们并不生活在一个理想的世界中

标签: sql replace ssis derived-column


【解决方案1】:

我已使用映射正确设置了所有内容,我的问题出在派生列转换任务中的 REPLACE 表达式中,我引用的是 column1 而不是 column 2。现在已经解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多