select * from test..TEST.TEST1
服務器: 消息 7356,級別 16,狀態 1,行 1
OLE DB 提供程序 'OraOLEDB.Oracle' 為列提供的元數據不一致。執行時更改了元數據信息。
OLE DB 錯誤跟蹤
[Non-interface error: Column 'DUMMY' (compile-time ordinal 1) of object '"TEST". "TEST"' was reported to have a DBTYPE of 129 at compile time and 130 at run time]。
這裡我們發現當使用有精度的數據類型的時候,這個查詢是不會報這種元數據類型不匹配的錯誤的。
這個是oracle的bug:3117040 在9.2.0.4.10中修正。
那麼如果oracle的版本低於這個,避免在sqlserver的link seerver需要訪問的column中使用沒有精度(數據長度不定)的數據類型。