【问题标题】:What does this SSIS package data conversion error mean?这个SSIS包数据转换错误是什么意思?
【发布时间】:2017-09-14 13:18:18
【问题描述】:

[数据转换 [2]] 错误:“将 LONGITUDE 列 (103) 转换为“LONGITUDE 副本”列 (39) 时转换数据失败。此转换返回状态值 2 和状态文本“值无法由于潜在的数据丢失而被转换。 ”。 "

[数据转换 [2]] 错误:“SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。由于错误代码 0xC020907F,“数据转换。输出 [数据转换输出] .Columns [经度副本]”对象失败。此外,错误行关于“数据转换”的布局。 Output [Data Output Data] .Columns [LONGITUDE Copy]" 指定错误的失败。在指定组件的指定对象上发生错误。可以预先发送错误消息以及指示失败原因的信息。 "

我该如何纠正它。我尝试过更改数据类型并匹配它们。 我检查了我的 EXCEL 文件是否有语法错误...什么都没有

【问题讨论】:

  • 源类型和转换类型是什么?
  • DT_NUMERIC (18.14)
  • 不改变数据类型不需要转换
  • @SonaLegends 您需要提供更多详细信息吗?什么是源列数据类型,目标列数据类型?数据源类型?数据目标类型?
  • 已修复,但我现在在目的地有输入错误

标签: sql-server ssis type-conversion


【解决方案1】:

您是否使用Data Conversion 转换?如果是,打开它,检查Copy of Longitude 的类型,并与源代码进行比较。这两种数据类型不兼容。您可以尝试将其转换为double

如果是EXCEL destination,需要转换成DT_WSTR

【讨论】:

  • 我有!都 DT_NUMERIC (18.14)
  • 如果它们都是DT_NUMERIC (18.14),为什么你需要转换它
  • 我将源更改为 DT_NUMERIC (18.14) 以匹配目标。
  • 至少我在与目的地的映射中使用的别名 [LONGITUDE 的副本] 类型
  • 你的目的地是什么?卓越的目的地? excel目的地只接受DT_WSTR
【解决方案2】:

你需要在“数据转换”中将所有尺寸加倍,

首先转到“源目标”并标记所有 nvarchar 列

第二次“数据转换”转到这些列并使其长度增加一倍

注意:默认情况下,数据转换使每列数据类型为 50

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-29
    • 2011-03-01
    • 2012-11-06
    • 2012-10-20
    相关资源
    最近更新 更多