在更新 xml 文件时出现这样的错误

Posted

技术标签:

【中文标题】在更新 xml 文件时出现这样的错误【英文标题】:while updating the xml filed i gtting error like this 【发布时间】:2011-06-21 05:06:03 【问题描述】:

SELECT 失败,因为以下原因 SET 选项的设置不正确: “阿里萨博特”。验证 SET 选项 适用于索引视图 和/或计算列上的索引 和/或查询通知和/或 xml 数据类型方法。

谁能说出以下语句有什么问题

while(@CountOfFile>=@Inc)
begin
    SELECT  @FileName = Attachments.value('(/Files/File[@Id=sql:variable("@Inc")]/Name/text())[1]','nvarchar(50)')  FROM   MOD_Quiz where Id = @Id
    select @FilePath = Attachments.value('(/Files/File[@Id=sql:variable("@Inc")]/FilePath/text())[1]','nvarchar(50)')  FROM   MOD_Quiz where Id = @Id

  set   @Actual_Path  =  @FilePath  +  '/' +  @Id  + '/' + @FileName 
  set  @Inc=@Inc+1

  update MOD_Quiz set Attachments.modify('replace value of (/Files/File[@Id=sql:variable("@Inc")]/FilePath/text())[1] with sql:variable("@Actual_Path") ') where Id =@Id

end

【问题讨论】:

如果您发布代码、XML 或数据示例,在文本编辑器中突出显示这些行,然后单击编辑器上的“代码示例”按钮 ( )工具栏以很好地格式化和语法突出显示它! 如果您使用SQL Server,请查看我在Failed because incorrect arithabort setting 页面上的回答。希望这会有所帮助... 【参考方案1】:

正如错误所说:您的SELECT 语句没有问题,但您的一般SET ARITHABORT setting 有问题。

正如this article on TechNet 解释的那样,对于索引视图或 XML 数据类型方法,您需要有 SET ARITHABORT ON。所以把这个声明放在你之前,你应该没问题。

【讨论】:

以上是关于在更新 xml 文件时出现这样的错误的主要内容,如果未能解决你的问题,请参考以下文章

使用 dbms_xslprocessor.clob2file 将 XML 写入文件时出现 Oracle 错误

为啥在尝试更新 MySQL 条目时出现“超过锁定等待超时”错误?

读取 xml 时出现地址越界错误

ORA-06502: PL/SQL: 尝试将 XML 保存到文件时出现数字或值错误

使用冒号加载标签时出现 Pig xmlloader 错误

使用 XML onClick 时出现 Android Dialog NoSuchMethodException 错误