日期:2014-05-19  浏览次数:20609 次

很困扰的一个问题
declare   @Out_string   varchar(50)/*返回变量*/
SELECT   a.*
FROM   OPENROWSET( 'SQLOLEDB ', '172.16.1.103 '; 'sa ';sa ',
      'SELECT   top   1   @Out_string=MTE12_T_M   from   test.dbo.test1   )   as   a  

出现以下问题,怎么解决?

链接服务器 "(null) "的   OLE   DB   访问接口   "SQLNCLI "   返回了消息   "无法完成延迟准备。 "。
消息   8180,级别   16,状态   1,第   1   行
未能准备语句。
消息   137,级别   15,状态   1,第   1   行
必须声明标量变量   "@Out_string "。



------解决方案--------------------
另外 '172.16.1.103 '这个服务器 在你的链接服务器中添加了吗?
------解决方案--------------------
USE pubs
GO
declare @Out_string varchar(50)/*返回变量*/
SELECT top 1 @Out_string=a.au_lname -- 这里
FROM OPENROWSET( 'MSDASQL ',
'DRIVER={SQL Server};SERVER=192.168.0.119;UID=sa;PWD=123.123. ',
pubs.dbo.authors) AS a
ORDER BY a.au_lname, a.au_fname

print @Out_string
GO