SELECT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'。请确保 SET 选项正确

今天做了一个查询数据库xml字段的sql语句,结果在ADO执行的时候报了这个错误,百度后找到了解决方法。备忘

当你在SQL Server上试图更新一个索引视图引用的表时,你可能回收到如下有错误

INSERT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'

在计算列或索引视图上创建或操作索引时,SET   ANSI_NULLS   也必须为   ON。如果   SET   ANSI_NULLS   为   OFF,计算列或索引视图上带索引的表上的   CREATE、UPDATE、INSERT   和   DELETE   语句将失败。SQL   Server   将返回一个错误,列出所有违反所需值的   SET   选项。另外,在执行   SELECT   语句时,如果   SET   ANSI_NULLS   为   OFF,则   SQL   Server   将忽略计算列或视图上的索引值并解析选择,就好象表或视图上没有这样的索引一样.

 

解决方案:

1.你必须在TSQL前Set ARITHABORT ON,代码如下

INSERT <wbr>失败,因为下列 <wbr>SET <wbr>选项的设置不正确: <wbr>'ARISet ARITHABORT ON
INSERT <wbr>失败,因为下列 <wbr>SET <wbr>选项的设置不正确: <wbr>'ARIGO
INSERT <wbr>失败,因为下列 <wbr>SET <wbr>选项的设置不正确: <wbr>'ARIINSERT INTO ta ..


2.在ADO中,你可以这样来写(C#代码)

   MyConnection.Execute("SET ARITHABORT ON");

   如果以上你都觉得很麻烦或由于一些原因没法更改,你可以尝试修改SQL Server服务器选项


3.exec sp_dboption 'yourdb','ARITHABORT','true'


4.ALTER DATABASE yourdb 
INSERT <wbr>失败,因为下列 <wbr>SET <wbr>选项的设置不正确: <wbr>'ARISET ARITHABORT ON


原文:http://blog.csdn.net/xuzhongxuan/article/details/5629790

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值