SSIS XML Source,尽管使用内联xsd架构但没有输出

时间:2011-10-07 13:01:31

标签: xml sql-server-2005 sql-server-2008 ssis

我有一个xml文件,其中附加了一些数据和内联架构。 如果我在SSIS(2008或2005)xml源组件中使用它,我没有输出到任何目的地(尝试过,原始文件,平面文件,excel,ole db,db目的地)。

列出现就好了,在以下组件中映射(例如db目标)似乎可以正常工作,映射正常。

然后如果我运行ssis包,检查没问题,测试没问题,一切都在“绿色”,但最后0行写到目的地......;(

我对此进行了相当多的研究,有些情况是缺少列,数据类型转换,架构问题(我有一个有效的内联架构)等。

以下是虚拟数据的示例,还有5个其他模式,其中包含更多列。

<?xml version="1.0" encoding="utf-16"?>
<DataSet>
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Table">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="CompanyNameID" type="xs:int" minOccurs="0" />
                <xs:element name="Name" type="xs:string" minOccurs="0" />
                <xs:element name="Description" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    <NewDataSet>
      <Table diffgr:id="Table1" msdata:rowOrder="0">
        <CompanyNameID>1</CompanyNameID>
        <Name>a</Name>
        <Description />
      </Table>
      <Table diffgr:id="Table2" msdata:rowOrder="1">
        <CompanyNameID>7</CompanyNameID>
        <Name>b</Name>
        <Description />
      </Table>
      <Table diffgr:id="Table3" msdata:rowOrder="2">
        <CompanyNameID>6</CompanyNameID>
        <Name>c</Name>
        <Description />
      </Table>
    </NewDataSet>
  </diffgr:diffgram>
</DataSet>

0 个答案:

没有答案