2017-06-22 31 views
0

我運行以下SQL Server 2014的查詢使用鏈接服務器得到錯誤,同時通過鏈接服務器在SQL服務器獲取數據

select contact_faxnumber from [ausnry-sqltest1].elk_uat.dbo.crm_view_contact 

而且收到以下錯誤

OLE DB提供程序「SQLNCLI '對於鏈接服務器'ausnry-sqltest1'返回的數據與列'[ausnry-sqltest1]。[elk_uat]。[dbo]。[crm_view_contact] .Contact_FaxNumber'的預期數據長度不匹配。 (最大)預期數據長度是15,而返回的數據長度是16.

如果我直接在鏈接的服務器上運行相同的查詢,那麼它工作正常。

請建議該怎麼做?

+0

有一個主題從現有的幾個問題,例如https://stackoverflow.com/questions/ 4215979 /問題與選擇在mysql-through-odbc-from-microsoft-sql-server,https://stackoverflow.com/questions/26022535/simba-mongo-odbc-driver-returned-data-that-不匹配期望的數據長度,和https://stackoverflow.com/questions/30124518/weird-returned-data-that-does-not-match-expected-data-length-for-column-error ?noredirect = 1&lq = 1 ...不重複,因爲這些都不涉及SQL Server與SQL Server對話,但可能提供進一步的調查路線。 –

回答

0

我猜crm_view_contact是一個視圖(基於名稱)?在這種情況下,它聽起來像基礎表模式可能已經改變,但視圖沒有更新元數據,所以它認爲一列是15個字符長,實際上它更長。

如果是這種情況,那麼該視圖的元數據可以在源服務器上刷新爲:

sp_refreshview [ @viewname = ] 'viewname' 
相關問題