OLEDB错误代码:0x80040E21

时间:2016-06-08 23:53:11

标签: sql-server ssis

Screenshot嗨,我正在使用平面文件源在OLEDB Command转换中执行多个DML。已连接平面文件连接管理器和OLE DB连接管理器并使用派生列转换来帮助从平面文件中的所有列与OLE DB列正确对齐,更改数据类型,长度和代码-1252。发生了这些错误。

[OLE DB命令[60]]错误:SSIS错误代码DTS_E_OLEDBERROR。发生OLE DB错误。错误代码:0x80040E21。 OLE DB记录可用。来源:“Microsoft SQL Server Native Client 11.0”Hresult:0x80040E21描述:“转换规范的字符值无效”。

[OLE DB命令[60]]错误:OLE DB Command.Inputs [OLE DB命令输入]。OLE DB Command.Inputs [OLE DB命令]上的[upt_Gender]。输入。返回的列状态为:  “由于可能会丢失数据,因此无法转换该值。”

screenshot

2 个答案:

答案 0 :(得分:3)

当您收到此类错误时,通常会出现不兼容的迹象 数据类型/大小。 Excel有时会自动转换 字符数据到数字数据可能导致问题 进口。

我刚刚添加了一个数据转换节点,并将类型从Unicode文本流更改为unicode字符串,它似乎正在运行。

答案 1 :(得分:1)

在目标(“OLE DB命令”)中,您试图将值传递给不适合数据类型的upt_Gender列。要么是错误的数据类型,要么是字符串对于列来说太长了。

过滤掉不适合目标列的数据,或更改目标列以接受传入数据。