【问题标题】:OLEDB Error code: 0x80040E21OLEDB错误代码:0x80040E21
【发布时间】:2016-10-09 10:43:21
【问题描述】:

Screenshot嗨,我正在使用平面文件源在 OLEDB 命令转换中执行多个 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 命令输入].Columns[upt_Gender] 在 OLE DB Command.Inputs[OLE DB 命令上出现错误输入]。返回的列状态为: “由于可能丢失数据,无法转换该值。”。

screenshot

【问题讨论】:

    标签: sql-server ssis


    【解决方案1】:

    当您收到此类错误时,通常表示不兼容 数据类型/大小。 Excel 有时会自动转换 字符数据到数字数据,这可能会导致问题 导入。

    我刚刚添加了一个数据转换节点并将类型从 Unicode 文本流更改为 Unicode 字符串,它似乎可以正常工作。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多