Пример XSD для простой таблицы для загрузки в SQL Server с использованием XML Bulk Load - PullRequest
0 голосов
/ 04 марта 2011

Я пытаюсь получить относительно простой XML-файл для загрузки в SQL Server 2008 в виде таблицы с использованием массовой загрузки. Моя основная проблема - создание XSD, который работает с массовой загрузкой. Вот мой текущий XSD. Таблица, которую я хочу создать, будет содержать только поля nvarchar и поля datetime.

Я знаю, что у меня есть ошибки в том, как я собрал XSD. Теперь XSD работает, но массовая загрузка не загружает никаких данных.

Я действительно ищу пример файла XSD и XML, который может быть успешно загружен в SQL Server с помощью Bulk Load. Это позволяет мне указать максимальную длину и тип данных. XML будет содержать некоторые нестандартные символы, поэтому я использовал эти данные.

Ниже приведен пример моего XSD и XML. Спасибо.

<?xml version="1.0" ?>
<xsd:schema targetNamespace="urn:schemas-microsoft-com:sql:SqlRowSet1" xmlns:schema="urn:schemas-microsoft-com:sql:SqlRowSet1" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sqltypes="http://schemas.microsoft.com/sqlserver/2004/sqltypes" elementFormDefault="qualified" xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
<xsd:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd"/>
<xsd:element name="FWO2-2011-03-03T22-53-47" sql:relation="XMLTESTTBL2">
<xsd:complexType>
<xsd:attribute name="fIld" type="sqltypes:int" use="required"/>
<xsd:attribute name="o">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
<xsd:maxLength value="255"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="n">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
<xsd:maxLength value="255"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="f">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
<xsd:maxLength value="255"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="s" type="sqltypes:int"/>
<xsd:attribute name="a" type="sqltypes:int"/>
<xsd:attribute name="l" type="sqltypes:datetime"/>
<xsd:attribute name="d" type="sqltypes:datetime"/>
<xsd:attribute name="e">
<xsd:simpleType>
<xsd:restriction base="sqltypes:nvarchar" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
<xsd:maxLength value="255"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
<xsd:attribute name="b" type="sqltypes:datetime"/>
</xsd:complexType>
</xsd:element>
</xsd:schema>

<?xml version="1.0" ?>
<dataroot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="FWO2-2011-03-03T22-53-47.xsd" generated="2008-05-08T16:37:19">
<FWO2-2011-03-03T22-53-47>
    <n><![CDATA[2007 Protiviti Pricing Tool.zip]]></n>
    <s>3073536</s>
    <f><![CDATA[C:\Users\ethkin01\Desktop\Desktop\2011-02-06]]></f>
    <a>32</a>
    <l>1/28/2011 3:27:43 PM</l>
    <d>1/12/2011 12:09:31 PM</d>
    <e><![CDATA[.zip]]></e>
    <b>1/12/2011 12:09:31 PM</b>
</FWO2-2011-03-03T22-53-47>
<FWO2-2011-03-03T22-53-47>
    <n><![CDATA[2010 Updated 1-11-11.xlsm]]></n>
    <s>1149607</s>
    <f><![CDATA[C:\Users\ethkin01\Desktop\Desktop\2011-02-06]]></f>
    <a>32</a>
    <l>1/11/2011 4:59:46 PM</l>
    <d>1/11/2011 4:59:45 PM</d>
    <e><![CDATA[.xlsm]]></e>
    <b>1/11/2011 4:59:45 PM</b>
</FWO2-2011-03-03T22-53-47>
</dataroot>

1 Ответ

0 голосов
/ 07 августа 2011

попробуйте xsd2db на www.sourceforge.net

...