很困扰的一个问题

gotolwd 2007-06-13 04:00:57
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"。

...全文
258 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pandayi 2007-06-13
  • 打赏
  • 举报
回复
谢谢 你是第一个给我分的 真开心啊
gotolwd 2007-06-13
  • 打赏
  • 举报
回复
多谢zhenmeiyisi(。。。)
可能pandayi() 也是这个意思,但是我没理解清楚吧,呵呵
zhenmeiyisi 2007-06-13
  • 打赏
  • 举报
回复
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
gotolwd 2007-06-13
  • 打赏
  • 举报
回复
hehe,楼上的兄弟是看错了吧,这是远程查询
pandayi 2007-06-13
  • 打赏
  • 举报
回复
另外'172.16.1.103'这个服务器 在你的链接服务器中添加了吗?
pandayi 2007-06-13
  • 打赏
  • 举报
回复
应该把@Out_string=MTE12_T_M from test.dbo.test1

单独放在DECLARE 下面 set @Out_string=select MTE12_T_M from test.dbo.test1
exec @out_string

不知道 这样可以吗?

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧