我有一個存儲過程(sql2005)需要調用遠程服務器上的表值函數(sql2000)。如何遠程執行Sql-Server 2000/5中的表值函數?
我的查詢如下:
select
*
from
mytable mt
cross apply
opendatasource('sqloledb','Data Source=remoteserver;UID=user;Password=pass').mydatabase.dbo.mytvf
(cast(param1 as numeric(20,0)), @param2, mt.param3)
我發現了一個不正確的語法錯誤附近「投」。用這個表示法可以執行一個tvf嗎?我應該以某種方式使用openrowset?任何幫助表示讚賞。
我不是積極的,這就是爲什麼我沒有列出答案,但我認爲你需要指定WITH NOLOCK以防止遠程服務器阻塞。你很容易被髒讀,但這可能是問題。 – RThomas 2011-05-11 18:15:21
我從哪裏開始?選擇*從mytable mt(nolock)? – IronicMuffin 2011-05-11 18:16:33
可以做一個TVD的opendatasource嗎? – IronicMuffin 2011-05-11 18:17:37