上方廣告

Lady Kukki 手作糖霜餅乾

2011年6月7日 星期二

查詢 LinkServer 自定義Function問題

使用本機端查詢(A電腦)另外一台DataBase(B電腦)的時候,有兩種方法。

方法一在B電腦開啟遠端連線設定(這裡不解說如何設定,有興趣可參考我先前的文章)。

方法二使用LinkServer,但是最近有個Case就是使用方法二的時候發現在讀取B電腦自定義的Function出現了【訊息 4122,層級 16,狀態 1,行 1不允許遠端資料表值函數呼叫。的錯
誤訊息,仔細查看了一下問題,可以發現我們在建LinkServer的時候SQL Server只幫我們建立了Table和View(如下圖)。


上網Google了一下發現可以使用OpenQuery查詢來解決此問題:
Select * from Openquery([LinkServer],'select [DataBaseName].[dbo].functionName(''d'')')



參考網址 : Microsoft技術支援