【原创】INSERT 失败,因为下列 SET 选项的设置不正确:'ARITHABORT'
2012-12-05 12:07
302 查看
错误描述:DELETE 失败,因为下列 SET 选项的设置不正确:'ARITHABORT'。请确保 SET 选项可正确用于计算列和/或查询通知和/或 xml 数据类型方法的索引视图和/或索引。
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.Data.SqlClient.SqlException: DELETE 失败,因为下列 SET 选项的设置不正确:'ARITHABORT'。请确保 SET 选项可正确用于计算列和/或查询通知和/或 xml 数据类型方法的索引视图和/或索引。
错误原因:
当你在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,代码如下
Set ARITHABORT ON
GO
INSERT INTO ta ..
2.在ADO.NET中,你可以这样来写(C#代码)
MyConnection.Execute("SET ARITHABORT ON");
如果以上你都觉得很麻烦或由于一些原因没法更改,你可以尝试修改SQL Server服务器选项
3.exec sp_dboption 'yourdb','ARITHABORT','true'
还可以
4.ALTER DATABASE db_bpms
SET ARITHABORT ON
相关文章推荐
- INSERT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT' SET ARITHABORT ON | OFF
- INSERT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'
- INSERT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'
- INSERT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'
- INSERT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'
- INSERT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'
- INSERT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'
- SELECT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'。请确保 SET 选项正确无误
- ALTER TABLE 失败,因为下列 SET 选项的设置不正确:'ARITHABORT'。请确保 SET 选项可正确用于计算列和/或查询通知和/或 xml 数据类型方法的索引视图和/或索引。
- SELECT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'。请确保 SET 选项正确
- 索引视图更新失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'
- SELECT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'。
- 发布订阅:SELECT失败,因为下列SET选项的设置不正确:'ANSI_PADDING'。请确确保SET选项正确无误,可以用于计算列上的索引视图和/或索引......"
- UPDATE 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'。请确保 SET 选项正确无误
- SELECT 失败,因为下列 SET 选项的设置不正确:'ARITHABORT'
- SELECT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'
- SELECT 失败,因为下列 SET 选项的设置不正确: 'ARITHABORT'……
- 关于因为下列 SET 选项的设置不正确: 'ARITHABORT'
- 数据库维护作业重建索引失败(因QUOTED_IDENTIFIER SET 选项的设置不正确 )
- SQL查询当前连接的活动(设置)的SET 选项