我想为使用XML文件的sql-server数据库构建一个导入界面。现在我被困在创建一个XSD文件以确保正确的input-xml。为定义的XML创建XSD和表
比方说,我有一个这样的表:
table: accounts
colummns: account_id INT NOT NULL
name VARCHAR(20) NOT NULL
type CHAR(1) NOT NULL
desc VARCHAR(100)
和XML文件应该是这样的:
<accounts>
<account>
<account_id>1</account_id>
<name>account A</name>
<type>B</type>
</account>
<account>
<account_id>2</account_id>
<name>account B</name>
<type>D</type>
<desc>some text here</desc>
</account>
</accounts>
这是我第一次设计这样的事情,我没有使用xsd文件的经验... 我尝试了几个东西,如SELECT .. FOR XML AUTO, XMLSCHEMA
和XSD.exe,但没有给我什么我想要的。
我想在XSD中映射SQL-Server表的类型 - 例如可为空/不可空和字符串的长度。甚至应该声明一系列有效值(例如,type
只能是A,B,C或D)。
这说明从XML数据很难工作表 - >但我需要的是XSD,而不是XML。 – CeOnSql
您可以将SELECT TOP(1)* FROM [Accounts] FOR XML AUTO,XMLSCHEMA('MyURI')生成的XSD模式与您在上面选择的需求结构化的xml相结合。 –
您可以在这里生成XSD - http://xmlgrid.net/xml2xsd.html,然后通过使用MS SQL生成的XSD中提供的信息来描述类型和使用。希望它可以帮助你。 –