无法在 SSIS 中将 STR 转换为 DT-I8

Cannot convert between STR to DT-I8 in SSIS

我在使用数据转换时遇到了这个问题 源列看起来像这样

[dti]
4.55
14.55
20.10

并且我的目标列是 SSMS 中的 INT,我来自 JSON 文件的源的输出列是 STR 50。 我尝试了 DT-I4 和 Float 数据类型,但仍然抛出错误,是因为数字中的点吗?

[Data Conversion [2]] Error: Data conversion failed while converting column "dti" (75) to column "Copy of dti" (29). The conversion returned status value 2 and status text "The value could not be converted because of a potential loss of data.".

提供的值可以很好地转换为我尝试过的数字类型。

更有可能的情况是您有 non-numeric 数据。

复制

来源查询

SELECT *
FROM
(
   values 
        (CAST('4.55' AS varchar(50)))
, ('14.44')
, ('20.10')
)D(dti);

数据转换和执行结果都在截图中

我会将数据转换任务配置为将我的错误行汇集到备用位置,以便您可以检查无法转换的值。