下面的查询在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",脚本工作正常。