Oracle Data Integratorのオブジェクト(データストア、モデル、インタフェースなど)は、単純な使用上の関連(統合インタフェースによるナレッジ・モジュールの使用)からコード解釈関係などの複雑な関連(インタフェースのマッピングまたはフィルタでの変数の使用)に及ぶ様々な関係性により、相互にリンクされています。これらの関係は、相互参照として実装されます。相互参照は、作業リポジトリ内の関連オブジェクト間の整合性をチェックおよび維持するために使用されます。たとえば、相互参照により、作業リポジトリのいずれかの場所で現在参照されているオブジェクトは、削除されないよう保護されます。
すべての関係が相互参照として表示されるわけではありません。
マスター・リポジトリのオブジェクトとの関係(テクノロジとデータ・モデルの関連など)は、相互参照として実装されますが、オブジェクト・コード(コンテキスト・コード、テクノロジ・コード、データ型コードなど)に基づく弱い関係として実装されます。これらのコードが変更されると、参照内の整合性が失われる可能性があります。
作業リポジトリの強い関係(プロジェクトに属するフォルダ)は、グラフィカル・ユーザー・インタフェースおよびリポジトリ内で(ホスト・データベースの外部キーとして)強制的に適用されます。これらの関係は、通常、破損することはありません。
オブジェクトを変更する場合、その変更による他の開発作業への影響を分析する必要があります。たとえば、列の長さを変更する場合、状況によっては、その列をソースまたはターゲットとして使用している統合インタフェースも変更する必要があります。相互参照により、特定のオブジェクトの参照元または参照先オブジェクトを即座に識別できるため、効果的な影響分析を実行できます。
相互参照を表示する手順:
相互参照は、デザイナのツリー・ビューの次の場所で確認できます。
「プロジェクト」および「その他」ツリー・ビューでは、オブジェクト・ノードの下に、現在のオブジェクトを参照しているオブジェクトのリスト付きで「使用中」ノードが表示されます。たとえば、変数の場合、その変数を参照しているステップを含むパッケージと、マッピングやフィルタなどでその変数を使用しているインタフェースが表示されます。
「モデル」ツリー・ビューでは、オブジェクト・ノードの下に「使用中」ノードが表示され、現在のデータストア、モデルまたはサブモデルをインタフェースのソースまたはターゲットとして(あるいはパッケージ・ステップで)参照しているオブジェクトがリストされます。
「移入に使用」および
「移入者」ノードには、現在のデータストアを移入元または移入先とするデータストアが表示されます。
これらの相互参照ノードは、開くことができます。参照元または参照先のオブジェクトは、相互参照ノードから表示または編集できます。
バージョン・リストア操作を実行すると、作業リポジトリのオブジェクトが、存在しないオブジェクトを参照するという状況が発生する可能性があります。この状況は、一般的に、統合インタフェースで使用されていたすべての関連モデルをリストアせずに、古いバージョンのプロジェクトをリストアした場合に発生します。
このような状況で、存在しないオブジェクトを参照するオブジェクト(インタフェースなど)を開くと、Oracle Data Integratorで欠落参照のエラー・メッセージが表示されます。相互参照が欠落しているオブジェクトは、ツリー・ビューで欠落参照マーカーによりマークされます。その親オブジェクトは、警告アイコン
によりマークされます。
オブジェクトの欠落参照の詳細を表示する手順:
欠落参照マーカーのあるオブジェクトを編集します。編集ウィンドウで、「参照がありません」タブを選択します。
相互参照が欠落している参照オブジェクトのリストは、このタブに表示されます。
欠落参照を解決する手順:
欠落相互参照は、次の2つの方法で解決できます。
欠落参照オブジェクトをインポートまたはリストアします。詳細は、「バージョン管理の使用方法」および「インポート/エクスポート」を参照してください。
欠落オブジェクトに対する参照を削除するため、参照元オブジェクトを変更します(たとえば、存在しない変数を参照する変数のリフレッシュ・ステップをパッケージから削除し、それを別の変数で置換します)。
重要: テキスト(インタフェースのマッピング、結合、フィルタや、プロシージャ・コマンドなど)に欠落参照が含まれる場合、このテキストに適用される最初の変更が、追加チェックなしでこのテキストの欠落相互参照に対する修正とみなされます。