Microsoft KB Archive/829016

From BetaArchive Wiki
Knowledge Base


FIX: You receive an "Unexpected data length for the fixed-length column '[DB2OLEDB] .COLUMN'" error message when you use the Host Integration Server 2000 DB2OLEDB driver

Article ID: 829016

Article Last Modified on 10/26/2005



APPLIES TO

  • Microsoft Host Integration Server 2000 Standard Edition
  • Microsoft Host Integration Server 2000 Service Pack 1




SYMPTOMS

When you try to retrieve data by using the Microsoft Host Integration Server 2000 DB2OLEDB driver through a linked server from AS/400, you may receive an error that is similar to the following:

Server: Msg 7347, Level 16, State 1, Line 2
OLE DB provider 'DB2OLEDB' returned an unexpected data length for the fixed-length 
column '[DB2OLEDB].COLUMN1'. The expected data length is 40, while the returned 
data length is 0.
OLE DB error trace [Non-interface error: Unexpected data length returned for the 
column: ProviderName='DB2OLEDB', TableName='[DB2OLEDB]', ColumnName='COLUMN1', 
ExpectedLength='40', ReturnedLength='0'].

CAUSE

The Host Integration Server DB2OLEDB driver always overrides the column host character code set identifier (CCSID) with the late descriptor CCSID. If the late descriptor CCSID is 65535 (a binary type) and if the BinAsChar parameter is set to yes (convert all binary data to character data), the data conversion fails because 65535 is not a valid CCSID. This hotfix changes the host CCSID from 65535 to the default mixed-byte host CCSID.

Note Typically, this problem only occurs if the binary data is in the double-byte character set (DBCS).

RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Microsoft Host Integration Server 2000. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

328152 How to obtain the latest service pack for Host Integration Server 2000


Hotfix information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.

   Date         Time   Version    Size     File name
   ----------------------------------------------------
   19-Sep-2003  21:47  5.0.0.940  311,568  Crtpkg.dll
   19-Sep-2003  21:47  5.0.0.940  688,400  Db2oledb.dll
   19-Sep-2003  21:47  5.0.0.940   53,552  Ddmstr.dll
   19-Sep-2003  21:47  5.0.0.940   78,096  Mseidb2c.dll
   19-Sep-2003  21:47  5.0.0.940  885,008  Mseidb2d.dll
   19-Sep-2003  21:47  5.0.0.940   24,848  Mseidpm.dll
   19-Sep-2003  21:47  5.0.0.940  266,512  Mseidrda.dll
   19-Sep-2003  21:47  5.0.0.940  147,728  Mseidt.dll
   19-Sep-2003  21:47  5.0.0.940   65,808  Crtpkg.exe
   19-Sep-2003  21:47  5.0.0.940   82,192  Ddmserv.exe

                


Note Because of file dependencies, the most recent hotfix that contains these files may also contain additional files.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

This problem was corrected in Microsoft Host Integration Server 2000 Service Pack 2.

Keywords: kbbug kbfix kbhostintegserv2000sp2fix kbqfe kbhotfixserver KB829016