首页 > 解决方案 > SSIS 中的数据类型问题

问题描述

我正在尝试将数据从平面文件加载到 MS SQL 服务器表中。该文件的内容如下。

Account Number,Prod Id Nr,COMP Cancel Revenue,YTD Revenue,PYE Revenue
001-0001-0,508,133,111,133
001-0001-0,701,28018,8485,16572
001-0001-0,702,28018,8485,16572
001-0001-0,851,13568,,
001-0001-0,951,13568,,
001-0001-0,1001,13568,,

我正在使用平面文件连接管理器,其中帐号定义为 Unicode 文本,Prod Id Nr 定义为数字,其他收入列定义为十进制。

SQL 服务器表具有相应的列,其中收入列定义为“Numeric(18,0) NULL”。

当我执行 SSIS 包时,它失败并显示以下错误消息。

 Name: OnError
 Computer: DBM01
 Operator: DOMAIN\QAUSER
 Source Name: Data Flow Task
 Source GUID: {c6f4977e-2bbf-4393-9be8-4e736bffa17f}
 Execution GUID: {C710ED31-1532-4EFF-B329-0C53753FD9F8}
 Message: Data conversion failed. The data conversion for column "PYE Revenue" returned status value 2 and status text "The value could not be converted because of a potential loss of data.".

有人可以帮忙吗?尽管收入列在源(平面文件)和目标(SQL 表)中都定义为十进制,但它仍然失败。文件中的收入值似乎是整数值,但我们也可以得到十进制值。此外,该文件的收入字段可以包含空白值。这可能是问题吗?请注意,SQL 列被定义为接受 NULL。

标签: sql-server-2008ssisdata-conversionsqldatatypes

解决方案


推荐阅读