-- 作者:guyang2000
-- 发布时间:11/30/2004 11:46:00 AM
-- 请教如下XSD 定义问题
I have two tables and a xml, xsd file 使用SQLXMLBulkLoad load xml 数据进入俩表时出错: "Invalid value for column "NAME"", "NAME" 是一个嵌套元素但在表中没有该字段。 表示 FIRST-NAME and LAST-NAME. 高手执教what's wrong for the xsd file "NAME" parts。 谢谢. 1. tables: ---------------------------------------------------------------------------------------------------- PAYOR(bankID, PRNAME,PENAME, TRN,BREF,DTM097, DTM107,TTLAMT,TRNCNT) ENT (bank, FIRST-NAME,LAST-NAME,ACNUM,CR,CREF,DTM109) ENT(bank) is foreign key refer to PAYOR(bankID) -------------------------------------------------------------------------------------------------------- 2. XML File <?xml version="1.0" ?> <ROOT> <PAYOR bankID="001"> <PRNAME>BANK</PRNAME> <PENAME>CUST</PENAME> <TRN>2222</TRN> <BREF>3333</BREF> <DTM097>4444</DTM097> <DTM107>1111</DTM107> <TTLAMT>300</TTLAMT> <TRNCNT>2</TRNCNT> </PAYOR> <ENT bank="001"> <NAME> <FIRST-NAME>AAA</FIRST-NAME> <LAST-NAME>AAA</LAST-NAME> </NAME> <ACNUM>001001001</ACNUM> <CR>100</CR> <CREF>1111</CREF> <DTM109>1111</DTM109> </ENT> <ENT bank="001"> <NAME> <FIRST-NAME>BBB</FIRST-NAME> <LAST-NAME>BBB</LAST-NAME> </NAME> <ACNUM>002002002</ACNUM> <CR>200</CR> <CREF>1111</CREF> <DTM109>1111</DTM109> </ENT> </ROOT> ---------------------------------------------------------------------------- 3. Create a XSD file for the XML to database mapping: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:mapping-schema" elementFormDefault="qualified"> <xs:annotation> <xs:appinfo> <sql:relationship name="BANK-ENT" parent="PAYOR" parent-key="bankID" child="ENT" child-key="bank"> </sql:relationship> </xs:appinfo> </xs:annotation> <xs:element name="ACNUM" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="BREF" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="CR" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="CREF" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="DTM109" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="ROOT"> <xs:complexType> <xs:sequence> <xs:element ref="PAYOR" maxOccurs="unbounded"/> <xs:element ref="ENT" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ENT" sql:relation="ENT" sql:relationship ="BANK-ENT"> <xs:complexType> <xs:sequence> <xs:element ref="NAME"/> <xs:element ref="ACNUM"/> <xs:element ref="CR"/> <xs:element ref="CREF"/> <xs:element ref="DTM109"/> </xs:sequence> <xs:attribute name="bank" type="xs:string" use="required" sql:datatype="varchar(128)"/> </xs:complexType> </xs:element> <xs:element name="FIRST-NAME" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="LAST-NAME" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="NAME"> <xs:complexType> <xs:sequence> <xs:element ref="FIRST-NAME"/> <xs:element ref="LAST-NAME"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="PAYOR" sql:relation="PAYOR"> <xs:complexType> <xs:sequence> <xs:element ref="PRNAME"/> <xs:element ref="PENAME"/> <xs:element ref="TRN"/> <xs:element ref="BREF"/> <xs:element ref="DTM097"/> <xs:element ref="DTM050" minOccurs="0"/> <xs:element ref="DTM107"/> <xs:element ref="TTLAMT"/> <xs:element ref="TRNCNT"/> </xs:sequence> <xs:attribute name="bankID" type="xs:string" use="required" sql:datatype="varchar(128)"/> </xs:complexType> </xs:element> <xs:element name="PENAME" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="PRNAME" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="TRN" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="DTM097" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="DTM050" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="DTM107" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="TTLAMT" type="xs:string" sql:datatype="varchar(128)"/> <xs:element name="TRNCNT" type="xs:string" sql:datatype="varchar(128)"/> </xs:schema>
|