如何在 Sql-Server 2000/5 中远程执行表值函数?

发布于 2024-11-06 18:05:58 字数 385 浏览 5 评论 0原文

我有一个存储过程(sql2005)需要调用远程服务器(sql2000)上的表值函数。

我的查询如下:

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) 

我在“cast”附近收到不正确的语法错误。是否可以用这种表示法执行 tvf?我应该以某种方式使用 openrowset 吗?任何帮助表示赞赏。

I have a stored procedure (sql2005) that needs to call a table valued function on a remote server (sql2000).

My query is as follows:

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) 

I'm getting an incorrect syntax error near 'cast'. Is it possible to execute a tvf with this notation? Should I somehow be using openrowset? Any help is appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

阪姬 2024-11-13 18:05:58

这是官方的话。您不能以这种方式调用 UDF。

http://connect .microsoft.com/SQLServer/feedback/details/276758/remote-table-valued-function-calls-are-not-allowed

看来 Mircosoft 正在努力在未来版本中开发该功能。

Here's the official word. You cannot call a UDF in this way.

http://connect.microsoft.com/SQLServer/feedback/details/276758/remote-table-valued-function-calls-are-not-allowed

Looks like Mircosoft is working on the ability in a future version though.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文