我有一个存储过程(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