![]() 前へ |
![]() 次へ |
この項では、マスター・ディテール・フラット・ファイルからレコードを抽出し、そのレコードを2つの異なる表にロードするマッピングの作成方法を説明します。1つのターゲット表にはマスター・レコードを格納し、もう1つのターゲット表にはフラット・ファイルからのディテール・レコードを格納します。2つの表間のマスター・ディテール関係を維持するには、順序のマッピングを使用します。
|
注意: この説明は、従来型パスによるロードを対象にしています。マスター・ディテール・レコードにダイレクト・パス・ロードを使用する手順は、「SQL*Loaderマッピングでの参照整合性を確認するためのダイレクト・パス・ロードの使用」を参照してください。 |
この手順では、このようなマッピングを構築するための一般的な方法を概説します。次に示す詳細な手順も参照してください。
マスター・ディテール・フラット・ファイルから抽出し、マスター/ディテール関係を維持するには、次の手順を実行します。
マスター・レコードとディテール・レコードで構成されたフラット・ファイル・ソースをインポートして、サンプリングします。
ファイルのサンプリング時にレコード・タイプに名前を指定する場合は、マスター・レコードとディテール・レコードに説明的な名前を割り当てます。これによって、今後はこれらのレコードを容易に識別できます。
フラット・ファイル演算子をマッピング・エディタのキャンバスにドラッグ・アンド・ドロップし、データの抽出元のマスター・ディテール・ファイルを指定します。
順序演算子をマッピング・キャンバスにドラッグ・アンド・ドロップします。
マスター・レコードに対する表演算子をマッピング・キャンバスにドラッグ・アンド・ドロップします。
以前作成した既存のワークスペース表を選択するか、属性を指定せずにバインドなしで新しい表演算子を作成できます。次に、必要なすべてのフィールドをファイル演算子のマスター・レコードからマスター表演算子にマッピングまたはコピーし(列の作成)、アウトバウンド調整を実行して後で表を定義できるようにします。
この表には、ロードするマスター・フィールドに必要なすべての列と、順序の値をロードするための追加の数値列が含まれている必要があります。
ディテール・レコードに対する表演算子をマッピング・キャンバスにドラッグ・アンド・ドロップします。
以前作成した既存のワークスペース表を選択するか、属性を指定せずにバインドなしで新しい表演算子を作成できます。次に、必要なすべてのフィールドをファイル演算子のマスター・レコードからマスター表演算子にマッピングまたはコピーし(列の作成)、アウトバウンド同期化を実行して後で表を定義できるようにします。
この表には、ロードするディテール・フィールドに必要なすべての列と、順序の値をロードするための追加の数値列が含まれている必要があります。
必要なすべてのフラット・ファイル・マスター・フィールドをマスター表に、ディテール・フィールドをディテール表にマッピングします。
順序NEXTVAL属性を、マスター表の追加の順序列にマッピングします。
順序CURRVAL属性を、ディテール表の追加の順序列にマッピングします。
次のパラメータを使用してソース・データをターゲット表にロードするマッピングを構成します。
ダイレクト・モード: 選択しない
エラー許可: 0
行: 1
後続NULL列: True(すべての表)