sql - 使用OpenRowSet的Exec存储过程

时间:2014-02-26 17:17:49

标签: mysql sql sql-server stored-procedures

我有这个查询,我想要做的是从另一台服务器执行存储过程以获得结果。

我需要在sp。

中传递一个参数

我的问题是没有用,我不知道我要做什么才能让它发挥作用。

希望有人可以帮我解决这个问题。

这是我的代码:

 DECLARE @EXECSQL3 VARCHAR(500), @a VARCHAR(300), @b INT

SET @a = 'test'
Set @b = 100

   SET @EXECSQL3 = 'SELECT * FROM OPENROWSET
         (''xxxxx'',''xxxxxx'';''xxxxxxx'';''xxxxxxx'',
         ''[DB].[dbo].[MyStoredProcedure]  @a, @b'')'

   EXEC(@EXECSQL3)

1 个答案:

答案 0 :(得分:2)

SELECT *
FROM OPENQUERY(OtherServer, 'EXEC db.dbo.MyStoredProcedure ''test'', 100')

我从未使用过OpenRowSet ......但我使用过OPENQUERY。我更喜欢它只是在链接服务器方案中直接查询服务器,因为查询在远程服务器上运行,并且只返回结果,这通常要快得多。