Oracle
Oracle 連結伺服器查詢錯誤
從 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 元數據(例如模式和表名)的大小寫完全匹配。