教你轻松掌握带批注的 XDR架构中的错误

来源:岁月联盟 编辑:zhuzhu 时间:2007-10-15

带批注的 XDR 架构中的错误

XDR 架构错误可分为以下几类:

◆在架构处理过程中检测到的 XDR 架构错误

◆通过 XPath 检测到的 XDR 架构错误

在处理带批注的 XDR 架构过程中检测到的 XDR 架构错误

"架构:无法加载架构 %1。发生错误 (%2)"

带批注的架构无法加载。检查所示的架构文件位于预期的位置上并且您有访问它的权限。验证该架构正常且为有效的 XML。

"架构:重复的元素定义 (%1)"

"架构:在 %2 上重复的特性定义 (%1)"

"架构:在 %2 上重复的特性引用 (%1)"

"架构:重复的顶层特性定义 (%1)"

特性、元素定义或引用在架构中多次出现。删除有问题的重复。

"架构:在 %2 上丢失特性定义 (%1)"

"架构:丢失元素定义 (%1)"

所需的特性或元素从架构上丢失。添加所丢失的信息。

"架构:在 %2 上丢失 %1"

批注 (%1) 从架构中丢失。添加所丢失的批注。

(例如, 是丢失的键和外键。)

"架构:%2 上预期得到 %1 的值"

批注 (%1) 的值为空。(例如 sql:field="")。添加所丢失的值。

"架构:在 %2 上的 %1 值无效"

批注 (%1) 的值无效。(例如 sql:key-fields=" ")。更正该值。

"架构:不允许嵌套元素定义"

ElementType 中不能有 ElementType。

"架构:关系标记中不允许有内容"

关系标记只能含有特性 ()。

"架构:在关系标记上的未知特性 %1"

关系中的特性只能是:键、键关系、外键和外关系。XML 名称区分大小写。

"架构:在 %1 上的关系中的键/外键对所含的列数不同"

检查所示的关系标记上的键和外键特性的值。

(例如, 在键中有两列但在外键中仅有一列。)有嵌入空格的列名必须用方括号括起来 ([])。有关这方面内容请参见 SQL Server 联机丛书中解释关系的部分。

"架构:在 %2 上 %1 预期 '0' 或 '1'"

所示的特性为布尔型值。以"0"表示假,以"1"表示真。

"架构:在 %2 上的未知 XDR 类型 %1"

所示的类型不是有效的 XDR 类型。有关可用类型的完整列表,请参见 XML 数据降低规范。

"架构:在 %2 上的未知 SQL 类型 %1"

所示的数据类型不是有效的 SQL Server 数据类型。SQL Server 数据类型用以区别各种较大对象的二进制类型,所以必须是以下类型之一:binary、image、ntext 或 text

"架构:无效的名称/类型,预期字符串值"

名称或类型特性的值无效。

"架构:无效的架构 URL (%1)"

URL 无效。

"架构:未知的元素 %1"

可识别的架构元素只有:组、特性、元素、AttributeType 或 ElementType。

"架构:在元素/特性/AttributeType 中不允许有除关系之外的其它内容"

这些标记可以有特性或关系批注,但不能有其它内容。

"架构:无法推断 %1 的默认映射。它和它的任何祖先都未定义关系"

请参见文档中有关关系和默认映射的内容。元素或特性的关系映射无法确定。

"架构:不允许引用 %1。仅在 ElementType 之内允许架构元素/特性"

元素和特性标志仅可用在 ElementType 之内。

"架构:元素/特性名称 %1 无效"

该名称不是有效的 XML 元素或特性名称。

"架构:在元素/特性中预期 'type' 特性"

"架构:在 ElementType/AttributeType 中预期 'name' 特性"

某一架构项目丢失了类型或名称特性。(例如, 会导致该错误;用户本应使用名称,而不是类型。 的错误与之类似)

"架构:在元素/特性中的无效 'type'"

"架构:在 ElementType/AttributeType 中的无效的 'name'"

该名称不是有效的 XML 元素/特性名称。

"架构:元素 %1 上不允许有混合内容。属性元素不能有子元素"

不支持属性元素上的混合内容。有关这方面内容请参见 SQL Server 联机丛书中定义属性元素的部分。[属性元素是指在 SQL Server 中映射到列的元素。显式映射通过字段批注给定,默认的(隐式)映射将随着 content="textOnly" 批注而产生(在这种情况下,列名即为元素名)。]

"架构:未能解析命名空间前缀 (%1)"

所用命名空间前缀在当前上下文中从未定义过(使用 xmlns:prefix="uri")。

"架构:指定限制字段时 '%1' 上预期关系"

该限制字段批注用于限定联接。不能将它与关系一起使用,除非是在特性或元素上。

"架构:%1 不能用在 is-constant 元素 (%2) 上"

有关这方面内容请参见 SQL Server 联机丛书中解释 is-constant 批注的部分。Is-constant 元素中不能有字段或关系。

"架构:在 %1 中预期关系"

元素或特性需要一种关系。

"架构:在 %1 上的异常关系"

元素或特性中不能含有关系。

"架构:在 %1 上的无效关系"

有关这方面内容请参见 SQL Server 联机丛书中定义关系批注的部分。关系可因多种原因而无效。常见的原因有:

◆第一个键关系必须映射到祖先的表中

◆最后一个外关系必须是当前节点的表

◆表和列的名称始终区分大小写

"架构:在 %1 上不允许映射字段。该批注可能仅适用于特性和属性元素"

该映射字段批注仅适用于在 SQL Server 中映射到列的节点上。这些特性和元素是以字段批注的元素或特性,或是带有 textOnly 内容的元素。

"架构:在特性 %1 上不支持从同一表到其自身的关系(自联接)"

在 SQL Server 2000 中不支持该关系。请考虑使用 is-constant 或其它关系。

"架构:需要一个基路径来解析外部架构的引用"

在无基路径的情况下引用外部架构。

"架构:不支持元素上的特性 %1"

"架构:不支持特性上的特性 %1"

"架构:不支持 ElementType 上的特性 %1"

"架构:不支持 AttributeType 上的特性 %1"

使用了无法识别的特性。有关元素、特性、ElementType 和 AttributeType 的使用,请参见 XML 数据降低规范。

通过 XPath 检测到的 XDR 架构错误

"架构: url-encode 批注需要在祖先或自身中有一个或多个键(在联接关系或键字段批注中指定)"

url-encode 批注导致生成一个直接对象查询。直接对象查询必须从单行中选择单列,这样就需要键信息以便从表中选择一行。键通过键字段和关系描述。url-encoded 节点或其祖先之一无键。

"架构:在 %1 和 %2 之间需要一个联接关系"

当一个元素及其子代映射到不同的表时,需要有一个关系。有关这方面内容请参见 SQL Server 联机丛书中解释关系批注使用的部分。

"架构:%1 与 %2 之间的联接关系无效"

有关这方面内容请参见 SQL Server 联机丛书中解释关系批注使用的部分。

"架构:批注 url-encode 和 use-cdata 是互斥的,不能与下列任何类型一起使用:id/idref/idrefs/nmtoken/nmtokens"

并非所有的批注都能彼此一起使用。将互斥批注之一删除。

"架构:在根元素 %1 上不允许映射字段批注"

顶级元素必须是映射的,否则为 is-constant。

"架构:在元素 %1 上需要一个关系"

有关这方面内容请参见 SQL Server 联机丛书中解释关系和默认映射的部分。无法确定该元素的关系映射。

"架构:不支持包含递归元素"

在 SQL Server 2000 中不支持递归。

"架构:is-constant 元素 %1 不能有特性"

在 is-constant 元素上不允许有特性。特性只能用在带有关系的元素上。

(责任编辑:卢兆林)