【发布时间】: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