【问题标题】:Cannot convert between STR to DT-I8 in SSIS无法在 SSIS 中的 STR 和 DT-I8 之间转换
【发布时间】:2020-10-08 13:24:13
【问题描述】:

我在使用数据转换时遇到了这个问题 源列如下所示

[dti]
4.55
14.55
20.10

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

[数据转换 [2]] 错误:转换时数据转换失败 列“dti”(75) 到列“dti 的副本”(29)。转换 返回状态值 2 和状态文本“该值无法 由于潜在的数据丢失而转换。"。

【问题讨论】:

  • 你想要浮点/十进制值吗?
  • @billinkc 是的,我想按照我在源中的方式存储它,我需要对其进行一些聚合,稍后,这就是它需要的原因

标签: ssis ssms


【解决方案1】:

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

更有可能的情况是,您有非数字数据。

复制

来源查询

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

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

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

【讨论】:

    猜你喜欢
    • 2016-12-14
    • 2017-01-02
    • 2014-01-22
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 2016-05-25
    • 2013-03-10
    • 1970-01-01
    相关资源
    最近更新 更多