我們知道SQL SERVER建立鏈接伺服器(Linked Server)可以選擇的驅動程式非常多,最近發現使用ODBC 的 Microsoft OLE DB 驅動程式建立的鏈接伺服器(Linked Server), 調用存儲過程過程時,參數不能為NULL值。 否則就會報下麵錯誤提示: 對應的英文錯誤...
我們知道SQL SERVER建立鏈接伺服器(Linked Server)可以選擇的驅動程式非常多,最近發現使用ODBC 的 Microsoft OLE DB 驅動程式建立的鏈接伺服器(Linked Server), 調用存儲過程過程時,參數不能為NULL值。
否則就會報下麵錯誤提示:
對應的英文錯誤提示為:
EXEC xxx.xxx.dbo.Usp_Test NULL,NULL,'ALL'
Msg 7213, Level 16, State 1, Line 1
The attempt by the provider to pass remote stored procedure parameters to remote server 'xxx' failed. Verify that the number of parameters, the order, and the values passed are correct.
對應的中文錯誤提示為:
EXEC xxx.xxx.dbo.Usp_Test NULL,NULL,'ALL'
Msg 7213, Level 16, State 1, Line 1
提供程式將遠程存儲過程參數傳遞給遠程伺服器 'xxx' 的嘗試失敗。請確保參數的數目、順序和所傳遞的值正確。
EXEC xxx.xxx.dbo.Usp_Test '','','ALL' 或者給參數賦予一個合適的值則不會報任何錯誤。另外使用Microsoft OLE DB Provider for SQL Server驅動方式建立的鏈接伺服器(Linked Server)調用存儲過程時參數就可以為NULL。