When you use the OLE DB Provider for DB2 to perform a four-part name query against an IBM DB2 for z/OS V10 database that contains Large Object (LOB) data types, you receive an error message that resembles the following:
The OLE DB provider "DB2OLEDB" for linked server "linked server name" supplied inconsistent metadata. The object "catalog"."schema_name"."table_name" was missing the expected column "column_name".
Note This error message does not occur when the same query is issued by using an OpenQuery format.
The OLE DB Provider for DB2 issues queries to obtain the metadata for the DB2 table that's being queried from SYSIBM.SYSCOLUMNS when four-part name queries are used. However, the schema query that's issued by the OLE DB Provider for DB2 returns hidden columns. This triggers the error when the DB2 table includes LOB data types.
Cumulative update information
The fix that resolves this problem is included in Cumulative Update 2 for Host Integration Server 2013.
To work around this problem, issue the failing four-part name query by using an OpenQuery format. This prevents the error.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
After you apply this update, the OLE DB Provider for DB2 excludes hidden columns when it issues schema queries against SYSIBM.SYSCOLUMNS.
The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.