Skip to main content

XML Models

コネクタは、CData Arc 内で のテーブルを XML としてモデル化します。モデル化は次の構造に従います。
  • 親要素は、挿入先のテーブルを識別します。
  • 各子要素は、対象テーブルのカラムに対応します。
これにより、XML 要素と の値とのつながりが確立され、コネクタは受信した XML ドキュメントから値を読み取り、それを INSERT または UPDATE クエリで使用できるようになります。 テーブルの XML モデルは、設定ペインの上部にある </> Code をクリックすると確認できます。次の XML は、XML 要素 <Account> としてモデル化された Account という名前のテーブルの簡略化されたモデル例です。
上記の例では、Idaccount_cAccountNumberAccountSourceAccount テーブルのカラムです。コネクタがこの構造に一致する XML ファイルを処理すると、その XML の値が自動的に Account テーブルに挿入されます。コネクタが Account テーブルをクエリすると、この構造に一致する XML を出力します。

Batching Input

Batching Output

Child Tables

Child Table XML

親テーブルと子テーブルに挿入する場合、入力マッピングの XML 構造は多層的になります。次の XML スニペットは、外部キーで関連付けられた2つのテーブルの入力マッピング例です。
上記の例では、Account が親テーブルで、AccountPartner が子テーブルです。 コネクタがこの構造に一致する入力 XML ファイルを処理すると、両方のテーブルを更新し、2つのレコードを関連付けるキーが同一になるようにします。

Using the ref Attribute

子テーブルの一部のカラムには ref タグが付けられています。このタグは、これらのカラムが親テーブルの主キーに対応していることを示します。コネクタは、親テーブルへの挿入を行った後、子テーブルへの挿入を行う前に、たった今挿入したレコードの主キーを親テーブルにクエリします。コネクタは、子テーブルに挿入する際にこの値を使用します。 これは、親テーブルの主キーが によって生成される場合に便利です。この場合、このカラムは入力 XML として渡されないため、コネクタは親テーブルにレコードを挿入するまでそのカラムの値を知ることができません。 XML モデルにおいて、ref 属性は、カラムが後で参照できること、またはカラムの値がマッピング内の別のカラムから読み取られるべきことを示します。 によって生成されるカラムの値を参照するには、カラム要素に予約値 LAST_INSERT_ID を設定した ref 属性を含める必要があります。
これは、id の値が挿入後に取得され、後で(通常は子テーブルで)参照できることを示します。この値を後で参照するには、ref 要素に該当するカラムの名前を設定します。
上記の例では、id は親テーブルの主キーの名前であり、子テーブルのカラムの名前でもあります。この ref 構文は、挿入後に親テーブルから id を取得し、取得した値を子テーブルの id カラムとして使用するようコネクタに指示します。

Selecting From Child Tables

Only Process New or Changed Records

Using a Last Modified Column

Using a Custom Column

Pre-Processing and Post-Processing Queries

XML Attributes

Table Attributes

allColumns

insertQuery

outputResult

processChangesOnly

requireInput

selectQuery

table

upsertQuery

Column Attributes

aggregate

column

id

Select マッピングでは、この属性によってカラムの値に Id マーカーが付与され、後で子クエリ内から ${#ID} という構文で参照できるようになります。これは、複数のテーブルに同名のカラムが存在し選択時にあいまいさが生じるような場面で、カラムの値を子クエリで使用したい場合に便利です。

key

ref

Upsert マッピングでは、この属性を使って、入力 XML だけでは決定できない値をデータベースにアップサートするために指定します。これは最も一般的には、親子関係においてデータベースが生成する主キーを決定する場合や、あるテーブルが子テーブル上の外部キー参照を使用する場合に利用されます。詳細については、ref 属性の使用を参照してください。

timeCheck

type

updateValue