SQL Server 2005 XML 验证报错:简单类型值'2006-11-13'无效。位置:/*:weather[1]/*:date[1]
关于在SQL Server 2005下按照定义的schema在进行插入xml实例时报错。具体情况如下:
首先,这是我定义的schema:
Create XML Schema Collection Weather_SchemaCollection_003 AS'
<xsd:schema targetNamespace="..."
xmlns = "http://schemas.microsoft.com...."
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified">
<xsd:element name ="weather">
<xsd:complexType mixed="true">
<xsd:sequence>
<xsd:element name = "date" type = "xsd:date">
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>'
go
然后创建一个拥有该类型值的数据库表
create Table T_Weather003(IntCol int primary key, XmlCol xml(Weather_SchemaCollection_003))
go
再插入一条记录时
Insert Into T_Weather003
values( 1, '<y1:weather xmlns:y1="http://schemas.microsoft.com/....">
<y1:date>2006-11-13</y1:date>
</y1:weather>')
系统报错如下:
SQL Server 2005 XML 验证:简单类型值'2006-11-13'无效。位置:/*:weather[1]/*:date[1]
但当我把schema中的 <xsd:element name = "date" type = "xsd:date">
改为 <xsd:element name = "date" type = "xsd:string">
就正常通过了。
请问这是为什么,难道是日期型值书写有问题?