Oracle

Oracle 連結伺服器查詢錯誤

  • September 9, 2017

從 SQL Server 2008R2 - 64 位到 Oracle 連結伺服器的查詢存在問題。

我們使用適用於 Windows 的 Oracle 64 位驅動程序。

當我們查詢某個表時,會出現以下錯誤:

消息 7347,級別 16,狀態 1,第 1 行 OLE DB 提供程序 ‘OraOLEDB.Oracle’ 連結伺服器 ‘SERV_VISION2’ 返回的數據與列 ’ 的預期數據長度不匹配

$$ SERV_VISION2 $$..$$ VISION $$.$$ INV_M001 $$.CUS_NM’。(最大)預期數據長度為 30,而返回的數據長度為 24。

問題似乎是 CUS_NM 列中的數據。在他給出此錯誤的行中,數據如下:

¿¿¿         

所以就像一個問號,但顛倒了。列的長度似乎沒有問題,原因之一是我猜他無法處理這些數據。

有沒有人遇到過這個問題?任何人都知道如何解決這個問題?

這很可能是 NLS(語言)問題,並且您的客戶名稱中包含您的數據庫無法處理的字元。您需要確定 Oracle 數據庫中 CUS_NM 列的實際類型。

預設情況下,Oracle 對象名稱都是大寫的。連結伺服器查詢必須與所有引用的 Oracle 元數據(例如模式和表名)的大小寫完全匹配。

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