Sql-Server

SQL Server - 通過連結伺服器查詢 IBM DB2 引發錯誤

  • March 1, 2019

我們有一個使用 IBM DB2 iAccess 數據庫的合作夥伴,我們使用 SQL Server 上的連結伺服器連接到該數據庫。它已經執行了很長時間,但在周末他們升級了他們的系統,現在我們的一項工作失敗了。

連結伺服器仍然可以正常連接,這意味著如果我查看伺服器對象->連結伺服器->伺服器名稱下的伺服器,它會顯示出來,並且我可以看到所有表。

當我通過 OpenQuery 執行查詢時,它工作正常:

Select * From OpenQuery(GLDATA, ‘Select WPCPKG, WPCBAC, WPCDEN, WPCPRT from S782D480.GLDATA.GPCKCTL’) – 這有效

但是,當我使用插入該表所需的四部分命名時,它會失敗:

從 GLDATA.S782D480.GLDATA.GPCKCTL 中選擇 WPPCPKG, WPCBAC, WPCDEN, WPCPRT – 失敗,但上週使用過

錯誤說:

連結伺服器“GLDATA”的 OLE DB 提供程序“MSDASQL”返回消息“未指定錯誤”。

連結伺服器“GLDATA”的 OLE DB 提供程序“MSDASQL”返回消息“

$$ IBM $$$$ System i Access ODBC Driver $$$$ DB2 for i5/OS $$SQL0204 - 未找到 QSYS2 類型 *FILE 中的 SYSCOLUMNS。”。

消息 7311,級別 16,狀態 2,第 7

行無法為連結伺服器“GLDATA”的 OLE DB 提供程序“MSDASQL”獲取架構行集“DBSCHEMA_COLUMNS”。提供程序支持該介面,但在使用時返回失敗程式碼.

根據本文,我嘗試刪除並重新創建連結伺服器,並在提供程序中關閉和打開“允許訪問”,但這沒有用。

該錯誤非常模糊,以至於我找不到太多可以嘗試的資訊,並且我懷疑這是他們的配置問題,但是除非我在盤子上給他們解決方案,否則他們修復問題的速度很慢。

好吧,我做了很多搜尋,找到了一些關於 SQL0204 錯誤的資訊,這導致我到了這個支持頁面:

https://www-01.ibm.com/support/docview.wss?uid=nas8N1016377

如果您看到 SQL0204 錯誤,其中包含有關在伺服器上執行哪些命令的說明。

我把它轉發給了合作夥伴的 IT 人員,他們嘗試了它(以及他所說的其他一些命令)並且它開始工作了。

我會嘗試看看是否可以讓他向我發送他執行的其他命令,以便我可以使這個答案更完整。

編輯:

如果連結頁面消失,這裡是資訊的螢幕截圖:

https://www-01.ibm.com/support/docview.wss?uid=nas8N1016377

引用自:https://dba.stackexchange.com/questions/227103