异类查询要求为连接设置ANSI_NULLS和ANSI_WARNINGS选项

Posted 腾信@迪克猪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了异类查询要求为连接设置ANSI_NULLS和ANSI_WARNINGS选项相关的知识,希望对你有一定的参考价值。

在查询分析器中,先输入两句 
  set   ansi_nulls   on 
  set   ansi_warnings   on 
  执行然后再 
  Create   Proc   存储过程 
  然后   
  set   ansi_nulls   off 
  set   ansi_warnings   off 
  产生出来的存储过程就不会有这个问题

========================================================

注意: 
  “注意,是在查询分析器中执行 
  而不是企业管理器中执行” 
  这句话是对的,但不认真思考的人是永远不会理解其含义的。 
  简单地说: 
          1.打开企业管理器; 
          2.打开查询分析器; 
          3.关闭企业管理器; 
          4.在查询分析器中执行存贮过程。 
  呵呵,本人也太笨了,整整为在PB下这一“异类查询”摸索奋战了七个小时。

============================================================

注意: 
  =================================== 
  删除存储过程,然后在查询分析器中执行创建存储过程的语句就行了. 
  ==================================================== 
  这句话没错,但如果存储过程已经创建了,也可以不用删除,把整个存储过程考到查询分析器中,把"Create"   改成   "alter"   ,然后执行,也可以

=======================================================================

--存储过程中那了链接服务器,使用后又删除,这样做没有意义. 
  --还不如直接用openrowset 
  CREATE   PROCEDURE   test 
  as 
  select   top   10   *   from   openrowset(‘sqloledb‘,‘dl580-1‘;‘sa‘;‘tpcims‘,   movex12.dbo.mittra‘) 

以上是关于异类查询要求为连接设置ANSI_NULLS和ANSI_WARNINGS选项的主要内容,如果未能解决你的问题,请参考以下文章

sql = 和<>遵循的sql-92标准的设置SET ANSI_NULLS ON

SET ANSI_NULLS ON

存储过程跨数据查询Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options

SET ANSI_NULLS ON 在T-SQL中是什么意思

SqlServer中的ANSI_NULLS和QUOTED_IDENTIFIER

SQL Server 存储过程因使用 XML/ANSI_NULLS、QUOTED_IDENTIFIER 选项而失败