SQL Server OpenQuery to Exec command



下面的查询在SQL Server 2008 R2中运行良好

select * 
from openquery(LinkedServerName, 'exec databaseName.dbo.SP_GET_INFO');

我试图转换它使用执行命令,但没有运气。

例如:

exec ('call databaseName.dbo.SP_GET_INFO') at LinkedServerName

总是得到语法错误的消息:

无法在远程服务器LinkedServerName上执行语句

谢谢。

感谢@lad2025的大力帮助。

使用下面的脚本可以工作:

exec ('databaseName.dbo.SP_GET_INFO') at LinkedServerName

我第一次测试代码时,由于我用来创建链接服务器的驱动程序,它没有工作。我使用了"Microsoft OLE DB Provider for ODBC Drivers"。对于这个,我得到了错误:

OLE DB提供程序"STREAM"链接服务器"(null)"返回消息…

原因是因为在存储过程中,我对一个具有空值的nText列进行了选择。

因此,我将驱动程序更改为"Microsoft OLE DB Provider for SQL Server",脚本工作正常。

最新更新