【发布时间】:2020-11-24 05:16:06
【问题描述】:
我对 SSIS 很陌生,我有现有的 SQL 表,我想将数据加载到十进制 (10,2) 列中,但是作为源文件的 .csv 文件包含 -- 值,因此我正在尝试使用派生列和表达式将 -- 值替换为 0.00
我已将平面文件源输出 - 输出列更改为 Unicode string [DT_WSTR]
新派生列的表达式为:
[estimated-order-handling-fee-per-order] == "--" ? (DT_DECIMAL,2)"0.00" : (DT_DECIMAL,2)[estimated-order-handling-fee-per-order]
派生列输出 - 列输出设置为decimal [DT_DECIMAL]
SSIS 接受所有这些,但在为派生列运行包时出错,如下所示
[派生列 [2]] 错误:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREON错误。 “派生列”失败 因为发生了错误代码 0xC0049063,并且错误行处置 关于“派生列。输出[派生列 输出].Columns[估计的订单处理费每订单派生的]" 指定错误失败。指定对象发生错误 的指定组件。之前可能有错误信息发布 这包含有关失败的更多信息。
有人可以帮我完成这个转换吗?
谢谢。
【问题讨论】:
标签: sql-server ssis etl derived-column