【发布时间】:2018-03-14 15:38:59
【问题描述】:
我有一个 SSIS 项目,其中平面文件源读取 CSV 文件。它包含一个字段 Order Item Id,格式为字符串,如“347262171”,用引号括起来。我想将其转换为数值,以便可以将其用作索引,但我尝试的一切都会给我结果:
数据转换失败。 “订单商品 ID”列的数据转换返回状态值 2 和状态文本“由于可能丢失数据,无法转换该值。”
最简单的解决方法是什么?
【问题讨论】:
-
请不要将身份证号码转换为实际号码类型。请注意,您永远不会对 ID 号进行算术运算。例如,它只会导致前导零出现问题。
-
另外,检查您用于新号码的列上的元数据;检查它是否足够大以容纳“数字”。在您的示例中,
347262171的 ID 是一个小字符串,但是一个很大的数字。反对“int”-ID 字段的另一点。 -
顺便说一句,是实际源文件中的引号,还是由平面文件连接添加的?您可以禁用后者,但我不知道这是否会干扰数据流的其他部分。
标签: sql-server file ssis flat