【问题标题】:sql - Exec Stored Procedure using OpenRowSetsql - 使用 OpenRowSet 执行存储过程
【发布时间】:2014-03-29 16:56:11
【问题描述】:

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

我需要在 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)

【问题讨论】:

  • 如果是链接服务器就不能直接执行吗?

标签: mysql sql sql-server stored-procedures


【解决方案1】:
SELECT *
FROM OPENQUERY(OtherServer, 'EXEC db.dbo.MyStoredProcedure ''test'', 100')

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

【讨论】:

  • 你能再解释一下吗?一般来说,纯代码的答案是不受欢迎的,因为它们非常具体,而且以后通常很难理解。
猜你喜欢
  • 1970-01-01
  • 2019-07-10
  • 1970-01-01
  • 1970-01-01
  • 2019-02-05
  • 2018-11-25
  • 2018-06-28
  • 1970-01-01
  • 2011-11-07
相关资源
最近更新 更多