0

XML ファイルを読み取り、データを親テーブルと 2 つの子テーブルに分割したいと考えています。データが移動する SQL スキーマと XSD は次のとおりです。SSISを使いたいと思っていますが、どうすればいいのかわかりません。子を反復処理してから、コードを使用して行を挿入する必要があります。どんなアイデアでも役に立ちます。SSIS 以外のものを使用したいと考えています。MS SQL Server 2008 を使用しています。

<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="MonthlyReportForm">
    <xs:complexType>
      <xs:sequence>
        <xs:choice maxOccurs="unbounded">
          <xs:element minOccurs="0" name="ReportingDate" type="xs:string" />
          <xs:element minOccurs="0" name="ReportingYear" type="xs:unsignedShort" />
          <xs:element minOccurs="0" name="ReportingRegion" type="xs:string" />
          <xs:element minOccurs="0" name="TeamMembersName" type="xs:string" />
          <xs:element minOccurs="0" name="chkTraining" type="xs:unsignedByte" />
          <xs:element minOccurs="0" name="chkVernacularMaterials" type="xs:unsignedByte" />
          <xs:element minOccurs="0" name="RDHelpText" type="xs:string" />
          <xs:element minOccurs="0" name="chkOutOfCountryForm" type="xs:unsignedByte" />
          <xs:element minOccurs="0" maxOccurs="unbounded" name="TravelData">
            <xs:complexType>
              <xs:sequence>
                <xs:element minOccurs="0" name="TravelRowLocation" type="xs:string" />
                <xs:element minOccurs="0" name="TravelRowTeam" type="xs:string" />
                <xs:element minOccurs="0" name="TravelRowThisMonth" type="xs:unsignedByte" />
                <xs:element minOccurs="0" name="TravelRowNextMonth" type="xs:string" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element minOccurs="0" name="TrainingReport">
            <xs:complexType>
              <xs:sequence>
                <xs:element minOccurs="0" maxOccurs="unbounded" name="TrainingData">
                  <xs:complexType>
                    <xs:sequence>
                      <xs:element minOccurs="0" name="TrainerName" type="xs:string" />
                      <xs:element minOccurs="0" name="TraineeGender" type="xs:string" />
                      <xs:element minOccurs="0" name="TraineeAge" type="xs:decimal" />
                      <xs:element minOccurs="0" name="TraineeLanguage" type="xs:string" />
                      <xs:element minOccurs="0" name="TraineeEducation" type="xs:string" />
                      <xs:element minOccurs="0" name="TraineeProvince" type="xs:string" />
                      <xs:element minOccurs="0" name="TrainingPrepHrs" type="xs:decimal" />
                      <xs:element minOccurs="0" name="TrainingTrainHrs" type="xs:decimal" />
                      <xs:element minOccurs="0" name="TrainingArea" type="xs:unsignedByte" />
                      <xs:element minOccurs="0" name="TrainingActivity" type="xs:string" />
                    </xs:sequence>
                  </xs:complexType>
                </xs:element>
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

ここに画像の説明を入力

4

0 に答える 0