2012年10月14日 星期日

連結伺服器 "linked_server_name" 的 OLE DB 提供者 "IBMDADB2.DB2COPY2" 提供了不一致的資料行中繼資料。

        最近透過Linked Server以SELECT 使用 4 部分名稱去查詢DB2的資料,如下範例

SELECT * FROM DB2.TEST.SCHEMA1.TABLE1

        結果出現下列錯誤:

連結伺服器 "DB2" 的 OLE DB 提供者 "IBMDADB2.DB2COPY2" 提供了不一致的資料行中繼資料。回報物件""TEST"."SCHEMA1"."TABLE1"" 的資料行 "Column1" (編譯時間序數 7) 在編譯時間有 14 的 "DBTYPE",而在執行時間有 131。


        英文的錯誤訊息如下:

The OLE DB provider "IBMDADB2.DB2COPY2" for linked server "DB2" supplied inconsistent metadata for a column. The column "Column1" (compile-time ordinal 7) of object  ""TEST"."SCHEMA1"."TABLE1"" was reported to have a "DBTYPE" of 14 at compile time and 131 at run time.

        用4部份名稱這各我查到的似乎是無解,下列網頁有提到其他的解決辦法,用OPENQUERY
        JR19327: Results from OpenSchema(adSchemaColumns) is different from the d escribe column on a select using IBMDADB2 OLE DB driver

  也可參考我之前使用IBM DB2 ODBC DRIVER,來建立DB2的連結伺服器的,使用 EXECUTE搭配 AT linked_server_name的方法喔



0 意見:

張貼留言