スキーマ変更処理
動的マッピングタスクは、動的スキーマ変更処理を自動的に使用します。つまり、タスクを実行するたびに、データ統合は該当するソース、ターゲット、およびルックアップオブジェクトのスキーマを更新します。
スキーマ変更には次のものが含まれます。
- •フィールドの追加。
- •フィールドの削除。
- •フィールドの名前の変更。
- •フィールドのデータ型、精度、または位取りの更新。
データ統合は、動的スキーマ処理をサポートするコネクタを使用して、データオブジェクトのスキーマを更新します。マッピングタスクで動的スキーマ処理をサポートするコネクタは、動的マッピングタスクでこの機能をサポートします。マッピングタスクと同様に、適用可能な動的スキーマ処理オプションを設定できます。コネクタが動的スキーマ変更処理をサポートしているかどうかを確認するには、該当するコネクタのヘルプを参照してください。データ統合は、階層データオブジェクトのスキーマは更新しません。
ソースオブジェクトのフィールドを更新する場合は、必ずターゲットトランスフォーメーションのフィールドマッピングを更新してください。データ統合は、名前が変更または削除されたソースフィールドに以前マッピングされたターゲットフィールドにNULLを書き込みます。
スキーマ変更処理オプション
データ統合で動的スキーマ変更をアップストリームトランスフォーメーションからターゲットに適用する方法を選択できます。マッピングに複数のターゲットが含まれている場合は、各ターゲットのスキーマ変更処理を選択します。
スキーマ変更処理オプションは、ターゲットオブジェクト設定で選択します。ジョブ内で設定されたスキーマ変更処理オプションは、デフォルトのスキーマオプションをオーバーライドします。
スキーマオプションを選択するためには、参照マッピングのターゲットフィールドマッピングが自動である必要があります。
使用可能なスキーマ変更処理オプションは、ターゲットタイプに基づいています。次の表に、各ターゲットタイプに対して選択可能なオプションを示します。
スキーマ処理オプション | ターゲットタイプ | 説明 |
---|
既存のファイル形式を保持する | ファイル | データ統合は、実行時に最新のターゲットスキーマを取得し、アップストリームスキーマの変更をターゲットファイルに適用しません。 |
現在を削除して再作成する | データベースとファイル | データベースターゲットの場合、データ統合は既存のターゲットテーブルを削除し、実行ごとにアップストリームトランスフォーメーションからのスキーマを使用して新しいターゲットテーブルを作成します。 ファイルターゲットの場合、データ統合は、タスクの実行ごとに受信スキーマと一致するようにターゲットスキーマを更新します。 |
変更して適用する変更内容 | データベース | データ統合は、アップストリームトランスフォーメーションのスキーマと一致するように追加の変更でターゲットスキーマを更新します。ターゲットからカラムは削除しません。 |
DDLの変更を適用しない | データベース | データ統合は実行時にターゲットスキーマを取得し、アップストリームスキーマの変更をターゲットテーブルに適用しません。 |
データ統合は、フィールド制約をターゲットに渡しません。例えば、ソースに、NOT NULL制約が設定されたフィールドS1とS2が含まれているとします。ターゲットには、NOT NULL制約が設定されたフィールドT1とT2が含まれています。[変更して変更を適用する]スキーマ処理オプションを選択します。タスクを実行すると、フィールドS1とS2が制約なしでターゲットに書き込まれます。