IBM Support

Unexpected data length mismatch error when using SQL Server Linked Server with the IBM OLE DB provider.

Troubleshooting


Problem

When using Microsoft® SQL Server Linked Server with the IBM DB2 OLE DB (IBMDADB2) provider, the following error may occur: Error: Msg 7347, Level 16, State 1, Line 1 OLE DB provider 'IBMDADB2.DB2COPY1' for linked server returned data that does not match expected data length for column . The (maximum) expected data length is , while the returned data length is .

Cause

By default the IBM OLE DB provider treats character data as Unicode. This can cause the length of the data to be larger than the expected length of the data.

Resolving The Problem

The IBM OLE DB provider has a connection string keyword that will not treat character data as Unicode. Specifying OleDbReturnCharAsWChar=0 in the connection string for the Linked Server connection will ensure that character data is treated as non-Unicode, and could potentially resolve this problem.

[{"Product":{"code":"SSEPGG","label":"Db2 for Linux, UNIX and Windows"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Component":"Programming Interface - Other","Platform":[{"code":"PF033","label":"Windows"}],"Version":"9.7;9.5;9.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]

Document Information

Modified date:
16 June 2018

UID

swg21474177