PRB: sp_xml_preparedocument 存储过程失败的错误 6603

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 279430
本文已归档。它按“原样”提供,并且不再更新。
症状
调用 sp_xml_preparedocument 存储过程,时调用将失败并显示以下错误消息:
服务器: 消息 6603,级别 16 状态 1 过程 sp_xml_preparedocument 行 19 XML 分析错误: 应是原义字符串,但找不到左引号。
原因
sp_xml_preparedocument 存储过程提供要处理的无效 XML 文档。
解决方案
正确 XML 文档传递到 sp_xml_preparedocument 存储过程进行处理。
状态
该行为是设计使然。
更多信息
用户已请求程序能够提供错误所在的 XML 文档位置。当前,不存在此功能。但是,此处是您可以确定出现该错误的位置在您的 XML 文档中的方式:
  1. 将 XML 文档保存在扩展名为.xml 的文本文件中。
  2. 通过浏览到.xml 文件加载到 Microsoft Internet 浏览器 4.01 的.xml 文档。

重现行为的步骤

  1. 将以下代码粘贴到 SQL Server 查询分析器中,然后运行该代码:
    declare @hdoc intdeclare @doc varchar(1000)set @doc ='<ROOT><Customers CustomerID="VINET" ContactName=123>   <Orders CustomerID="VINET" EmployeeID="5" OrderDate="1996-07-04T00:00:00">      <Order_0020_Details OrderID="10248" ProductID="11" Quantity="12"/>      <Order_0020_Details OrderID="10248" ProductID="42" Quantity="10"/>   </Orders></Customers><Customers CustomerID="LILAS" ContactName="Carlos Gonzlez">   <Orders CustomerID="LILAS" EmployeeID="3"OrderDate="1996-08-16T00:00:00">      <Order_0020_Details OrderID="10283" ProductID="72" Quantity="3"/>   </Orders></Customers></ROOT>'--Create an internal representation of the XML document.exec sp_xml_preparedocument @hdoc OUTPUT, @docexec sp_xml_removedocument @hDoc					


    显示此错误消息:
    服务器: 消息 6603,级别 16 状态 1 过程 sp_xml_preparedocument 行 19 XML 分析错误: 应是原义字符串,但找不到左引号。
  2. 从在步骤 1 中, 使用的代码复制该 <root>元素在</root> 元素。
  3. 粘贴,然后将的文本从 XML 文档复制到一个文本文件,扩展名为.xml 的保存。
  4. 打开您只需通过浏览 Internet Explorer 与该文件保存在.xml 文件。 发生此错误消息:
    原义的字符串应该,但找不到左引号。
    第 2,位置 43 行

    <客户客户 id ="VINET"联系人姓名 = 123 >

    ------------------------------------------^

警告:本文已自动翻译

属性

文章 ID:279430 - 上次审阅时间:01/16/2015 21:06:05 - 修订版本: 3.2

Microsoft SQL Server 2000 标准版

  • kbnosurvey kbarchive kbmt kbprb KB279430 KbMtzh
反馈