使用 SSIS 中的 XML 源解析具有内联架构的 XML 文件
Parsing XML file with Inline schema using XML Source in SSIS
我有一个包含内联架构的 XML 文件。我尝试使用 SSIS XML 源。但它不显示列名。
正在选择 XML 文件
这里没有列。
我想将 XML 数据传输到 SQL 服务器。
这是 XML 文件中的样本数据。
文件名:wcproduction.xml
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<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">
<xsd:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd" />
<xsd:element name="wcproduction">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="api_st_cde" type="sqltypes:smallint" nillable="1" />
<xsd:element name="api_cnty_cde" type="sqltypes:smallint" nillable="1" />
<xsd:element name="api_well_idn" type="sqltypes:int" nillable="1" />
<xsd:element name="pool_idn" type="sqltypes:int" nillable="1" />
<xsd:element name="prodn_mth" type="sqltypes:smallint" nillable="1" />
<xsd:element name="prodn_yr" type="sqltypes:int" nillable="1" />
<xsd:element name="ogrid_cde" type="sqltypes:int" nillable="1" />
<xsd:element name="prd_knd_cde" nillable="1">
<xsd:simpleType>
<xsd:restriction base="sqltypes:char" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
<xsd:maxLength value="2" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="eff_dte" type="sqltypes:datetime" nillable="1" />
<xsd:element name="amend_ind" nillable="1">
<xsd:simpleType>
<xsd:restriction base="sqltypes:char" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
<xsd:maxLength value="1" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="c115_wc_stat_cde" nillable="1">
<xsd:simpleType>
<xsd:restriction base="sqltypes:char" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
<xsd:maxLength value="1" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="prod_amt" type="sqltypes:int" nillable="1" />
<xsd:element name="prodn_day_num" type="sqltypes:smallint" nillable="1" />
<xsd:element name="mod_dte" type="sqltypes:datetime" nillable="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<wcproduction xmlns="urn:schemas-microsoft-com:sql:SqlRowSet1">
<api_st_cde>30</api_st_cde>
<api_cnty_cde>5</api_cnty_cde>
<api_well_idn>20178</api_well_idn>
<pool_idn>10540</pool_idn>
<prodn_mth>7</prodn_mth>
<prodn_yr>1973</prodn_yr>
<ogrid_cde>12437</ogrid_cde>
<prd_knd_cde>G </prd_knd_cde>
<eff_dte>1973-07-31T00:00:00</eff_dte>
<amend_ind>N</amend_ind>
<c115_wc_stat_cde>F</c115_wc_stat_cde>
<prod_amt>53612</prod_amt>
<prodn_day_num>99</prodn_day_num>
<mod_dte>2015-04-07T07:31:00.173</mod_dte>
</wcproduction>
</root>
我想将这个 xml 数据从这个 xml 文件传输到数据库
回答:
XML 源 reader 任务不处理多个命名空间。我们应该尝试这个解决方案。也许我们应该创建 Source 脚本组件。
XML Source reader SSIS 中的任务不处理多个命名空间。我们应该尝试这个解决方案。也许我们应该创建 Source 脚本组件。
在 VB.net
中使用 XMLReader 读取大型 XML 文件
我有一个包含内联架构的 XML 文件。我尝试使用 SSIS XML 源。但它不显示列名。
正在选择 XML 文件
这里没有列。
我想将 XML 数据传输到 SQL 服务器。
这是 XML 文件中的样本数据。 文件名:wcproduction.xml
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<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">
<xsd:import namespace="http://schemas.microsoft.com/sqlserver/2004/sqltypes" schemaLocation="http://schemas.microsoft.com/sqlserver/2004/sqltypes/sqltypes.xsd" />
<xsd:element name="wcproduction">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="api_st_cde" type="sqltypes:smallint" nillable="1" />
<xsd:element name="api_cnty_cde" type="sqltypes:smallint" nillable="1" />
<xsd:element name="api_well_idn" type="sqltypes:int" nillable="1" />
<xsd:element name="pool_idn" type="sqltypes:int" nillable="1" />
<xsd:element name="prodn_mth" type="sqltypes:smallint" nillable="1" />
<xsd:element name="prodn_yr" type="sqltypes:int" nillable="1" />
<xsd:element name="ogrid_cde" type="sqltypes:int" nillable="1" />
<xsd:element name="prd_knd_cde" nillable="1">
<xsd:simpleType>
<xsd:restriction base="sqltypes:char" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
<xsd:maxLength value="2" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="eff_dte" type="sqltypes:datetime" nillable="1" />
<xsd:element name="amend_ind" nillable="1">
<xsd:simpleType>
<xsd:restriction base="sqltypes:char" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
<xsd:maxLength value="1" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="c115_wc_stat_cde" nillable="1">
<xsd:simpleType>
<xsd:restriction base="sqltypes:char" sqltypes:localeId="1033" sqltypes:sqlCompareOptions="IgnoreCase IgnoreKanaType IgnoreWidth" sqltypes:sqlSortId="52">
<xsd:maxLength value="1" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="prod_amt" type="sqltypes:int" nillable="1" />
<xsd:element name="prodn_day_num" type="sqltypes:smallint" nillable="1" />
<xsd:element name="mod_dte" type="sqltypes:datetime" nillable="1" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<wcproduction xmlns="urn:schemas-microsoft-com:sql:SqlRowSet1">
<api_st_cde>30</api_st_cde>
<api_cnty_cde>5</api_cnty_cde>
<api_well_idn>20178</api_well_idn>
<pool_idn>10540</pool_idn>
<prodn_mth>7</prodn_mth>
<prodn_yr>1973</prodn_yr>
<ogrid_cde>12437</ogrid_cde>
<prd_knd_cde>G </prd_knd_cde>
<eff_dte>1973-07-31T00:00:00</eff_dte>
<amend_ind>N</amend_ind>
<c115_wc_stat_cde>F</c115_wc_stat_cde>
<prod_amt>53612</prod_amt>
<prodn_day_num>99</prodn_day_num>
<mod_dte>2015-04-07T07:31:00.173</mod_dte>
</wcproduction>
</root>
我想将这个 xml 数据从这个 xml 文件传输到数据库
回答:
XML 源 reader 任务不处理多个命名空间。我们应该尝试这个解决方案。也许我们应该创建 Source 脚本组件。
XML Source reader SSIS 中的任务不处理多个命名空间。我们应该尝试这个解决方案。也许我们应该创建 Source 脚本组件。 在 VB.net
中使用 XMLReader 读取大型 XML 文件