Webサービスを呼び出してデータをxmlドキュメントの形式で返すSSISプロジェクトがあります。次に、データフロータスクでそのxmlを解析し、SQLサーバーデータベースにロードする必要があります。
xmlファイルにはインラインスキーマがあり、大量のデータが含まれています。データフローのXMLソースで、「インラインスキーマ」を選択すると、すべての列が正しくリストされます。この時点まではすべて問題ないようです。
ただし、パッケージを実行すると、xmlソースからデータが読み込まれず、エラーもスローされません。出力メッセージには、「'OLEDB変換先が0行を書き込みました'」と表示されます。私のデータビューには、xmlソースからパイプされているデータが表示されません。また、宛先として単純なフラットファイルを使用してテストすることにより、問題のソースとしてOLE DB宛先を排除しました(同じ問題、データが書き込まれず、エラーもありません)。スローされます)。
以下は、私のWebサービスタスクによって作成されたインラインスキーマを使用したxmlソースからの抜粋です。これのトラブルシューティングにご協力いただければ幸いです。
<?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="UPDATEDDEPT">
<xs:complexType>
<xs:sequence>
<xs:element name="DEPT_ID" type="xs:long" />
<xs:element name="PARENT_ID" type="xs:long" />
<xs:element name="DEPT_NAME">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="30" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="DEPTH" type="xs:int" />
<xs:element name="LINEAGE">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="150" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="PRODUCTCOUNT" type="xs:int" />
<xs:element name="MARKETLEADER" type="xs:int" />
<xs:element name="PROFITBUILDER" type="xs:int" />
<xs:element name="NEWITEM" type="xs:int" />
<xs:element name="PALLET" type="xs:int" />
<xs:element name="LASTUPDATED" type="xs:dateTime" />
<xs:element name="STATUS" type="xs:int" 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>
<UPDATEDDEPT diffgr:id="UPDATEDDEPT1" msdata:rowOrder="0">
<DEPT_ID>1010100000000000000</DEPT_ID>
<PARENT_ID>1000000000000000000</PARENT_ID>
<DEPT_NAME>STRIKING AND CUTTING TOOLS </DEPT_NAME>
<DEPTH>1</DEPTH>
<LINEAGE>/1000000000000000000/1010100000000000000/</LINEAGE>
<PRODUCTCOUNT>1054</PRODUCTCOUNT>
<MARKETLEADER>1</MARKETLEADER>
<PROFITBUILDER>2</PROFITBUILDER>
<NEWITEM>8</NEWITEM>
<PALLET>0</PALLET>
<LASTUPDATED>2013-02-04T05:38:57.437-05:00</LASTUPDATED>
<STATUS>1</STATUS>
</UPDATEDDEPT>
<UPDATEDDEPT diffgr:id="UPDATEDDEPT2" msdata:rowOrder="1">
<DEPT_ID>7070570565000000000</DEPT_ID>
<PARENT_ID>7070500000000000000</PARENT_ID>
<DEPT_NAME>KNIVES & ACCESS </DEPT_NAME>
<DEPTH>2</DEPTH>
<LINEAGE>/7000000000000000000/7070500000000000000/7070570565000000000/</LINEAGE>
<PRODUCTCOUNT>176</PRODUCTCOUNT>
<MARKETLEADER>0</MARKETLEADER>
<PROFITBUILDER>0</PROFITBUILDER>
<NEWITEM>2</NEWITEM>
<PALLET>0</PALLET>
<LASTUPDATED>2013-02-04T05:38:59.823-05:00</LASTUPDATED>
<STATUS>1</STATUS>
</UPDATEDDEPT>
</NewDataSet>
</diffgr:diffgram>
</DataSet>