如何解决此错误:7405 16 异类查询要求为连接设置 ANSI_NULLS 和 ANSI_WARNINGS 选项。这将确保一致的查询语义。请启用这些选项,然后重新发出查询

来源:互联网 发布:qwq是什么网络意思 编辑:程序博客网 时间:2024/06/04 19:27
今天在做一个两台数据库服务器的跨服务器查询时,遇到了一个问题"错误:7405 16 异类查询要求为连接设置 ANSI_NULLS 和 ANSI_WARNINGS 选项。这将确保一致的查询语义。请启用这些选项,然后重新发出查询"
问题解决,在此做个记录
问题描述:
存储过程中使用了opendatasource的方式,调用了另一台数据库服务器中的一张表,用于获取数据,然而在执行此存储过程时,报了上面的错误,网上有人说需要加
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
但在我的存储过程的前面加了以后,问题没有解决,经过多次测试发现,单独把跨服务器的SQL语句操作提出来,放在
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
EXEC sp_dboption --查看数据库选项
--EXEC sp_dboption 'DB_test','ANSI_NULLS','ON'--修改数据库选项
--EXEC sp_dboption 'DB_test','ANSI_WARNINGS','ON'--修改数据库选项
SELECT * FROM OPENDATASOURCE(...)
后居然可以了
然后再执行存储过程"命令已成功完成。" ~~~