码迷,mamicode.com
首页 > 数据库 > 详细

sqlserver使用OpenQuery或OPENROWSET遇到的问题

时间:2014-11-27 15:45:21      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:ar   使用   sp   on   数据   问题   bs   ad   数据库   

OpenQuery,OPENROWSET允许用户在链接服务器上查询.通过这种方法来得到查询的结果集.   
  1.在创建存储过程中,必须设置   
        SET   ANSI_NULLS   ON   
        SET   ANSI_WARNINGS   ON   
        (在查询分析器中执行,将默认激活这些设置)   
  2.定义链接服务器(必须有sysadmin权限)   
  3.这个时候就可以使用   
  SELECT   *   FROM   OPENQUERY(linkSERVER,   ‘EXEC  MyStoreProc‘)     
  来得到存储过程返回的结果集.   
  但是存储过程MyStoreProc不能访问临时表,   
  如果使用了临时表,必须如下调用   
        SELECT   *   FROM   OPENQUERY(linkSERVER,‘SET   FMTONLY   OFF ; EXEC   MyStoreProc‘)   
      通常来说,OPENQUERY只是作为一个快捷的远程数据库访问,它必须跟在select后面,也就是说需要返回一个recordset.   
  而加上set   fmtonly   off用来屏蔽默认的只返回列信息的设置之后,这样返回的output集合就会提交给前面的select显示。   
  如果采用默认设置,会返回空集合导致select出错,命令也就无法执行了

sqlserver使用OpenQuery或OPENROWSET遇到的问题

标签:ar   使用   sp   on   数据   问题   bs   ad   数据库   

原文地址:http://www.cnblogs.com/firtree/p/4126355.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!