Oracle Data Integrator制約を使用するインタフェースを利用したOracle Data Integrator XMLからデータベースへの変換の開発

このOBEチュートリアルでは、CLIENTと呼ばれるデータベース表にXMLファイルをインポートするOracle Data Integratorインタフェースの作成方法について説明します。 また、作成の過程では、CLIENTモデルにOracle Data Integrator制約を追加します。 制約をパスしないレコードは、すべてE_CLIENT表にロードされます。

約1時間

トピック

このOBEチュートリアルでは、次の各トピックについて説明します。

このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロードし、表示されます。 (警告: すべてのスクリーンショットが同時にロードされるため、ご使用のインターネット接続によっては応答時間が遅くなる場合があります。)

注: 各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順 にある各アイコンの上にカーソルを置いてください。

スクリーンショットは、ご使用の環境を反映したものではありません。 Oracle Data Integratorの特定の機能がどこにあるのかを分かりやすくするために提供されています。

概要

Oracle Data Integratorは、Oracle Data Integrator制約またはデータベース制約を使用することで、ターゲットへのロード中にデータの検証を行う機能を提供します。 Flow Controlを使用してデータを制約に照らし合わせると、検出されたエラーはすべて、ターゲットにはロードされず、Oracle Data Integratorが作成し、管理するエラー表にロードされます。 この表の各行は、制約をパスできなかったレコードを示しています。また、行にはメッセージ列があり、なぜそのレコードが拒否されたかを確認できます。
この表は、Oracle Data Integrator Designer自体、またはリレーショナル表を編集可能なすべてのツールで編集できます。 しかし、エンドユーザーやビジネス・ユーザーがデータを編集する場合、この方法が常に便利だとは限りません。 この例では、Oracle Data Integratorインタフェースを使用します。 または、制約とともにXMLファイルをロードするOracle Data Integratorプロシージャを作成することもできます。

トピック・リスト に戻る

シナリオ

Lindaは、Mydo Main Corporationのデータベース管理者です。 社内のデータベース管理やさまざまなリソースに関連するタスクの統合を担当しています。 Lindaは、制約とともにXMLファイルをリレーショナル表にロードするOracle Data Integratorシナリオを構築する必要があります。 制約は、チェック制約の検証にパスしたデータのみ、ロードを許可します。 制約をパスしないすべての行は、ターゲット・データベース上の表にロードされます。 Oracle Data Integratorシナリオが実行され、Oracle Data Integratorのデータ統合プロセスが完了すると、Oracle Data Integratorシナリオは、BPEL Webサービスにコールバックし、ロード中のすべてのエラーを通知します。

 

トピック・リスト に戻る

前提条件の確認

タスクを開始する前に、システム環境が以下の前提条件を満たしていることを確認してください。

ソフトウェア要件

次の製品が、システムにインストールされている必要がありま す。

システムには次の構成が含まれている必要があります。

トピック・リストに戻る

Oracle Data Integratorでの新しいプロジェクトの作成


プロジェクトは、ユーザーによって作成されたOracle Data Integratorオブジェクトのコレクションです。 これには、単一の機能ドメインが含まれます。 それぞれのプロジェクトには、それ自体のナレッジ・モジュール、変数、マーカー、および他のタイプのオブジェクトが含まれています。 これらのオブジェクトは、複製することによって別のプロジェクトとの間で共有できます。 また、すべてのプロジェクトで共通のパラメータを定義するためにグローバル・オブジェクト(変数、順序など)を使用することも可能です。 Oracle Data Integratorで開発する必要がある統合プロセスまたは統合プロジェクトで機能ドメインを表すには、プロジェクトを使用します。

Oracle Data Integratorで新しいプロジェクトを作成するには、以下の手順を実行します。

1.

スタート」→「すべてのプログラム」→「Oracle」 →「Oracle Data Integrator」→「Designer」を選択して、Oracle Data Integrator Designerを開きます。

 

2.

Oracle Data Integrator Loginダイアログ・ボックスが表示されます。 Login Nameドロップダウン・リストから「Repo_designer」を選択します。

 

3.

ユーザー名とパスワードは、デフォルトではSUPERVISORSUNOPSISに設定されています。 「OK」をクリックしてログインします。

 

4.

左下のペインで、「Projects」タブをクリックします。

 

5.

Projectsペインが左上隅に表示されていることを確認します。 右クリックして、「Insert Project」 を選択します。

 

6.

Project: Newウィンドウが表示されます。 NameにODI_ER_HSPを 入力します。 Codeの値として同じテキストが移入されていることを確認してください。 次に、「OK」をクリックして、新しいプロジェ クトがProjectsペインに移入されたことを確認します。

 

 

トピック・リストに戻る

XMLファイルのための 新しいモデルの挿入

XMLソース・ファイルのために新しいモデルを挿入するには、以下の手順を実行します。

1.

Oracle Data Integrator Designerで、左下のペインへスクロールし、「Models」タブをクリックします。

 

 

2.

左上隅にModelsペインが表示されます。 右クリックして、「Insert Model」を選択します。

 

3.

Model: Newウィンドウでは、新しいモデルの値を入力する必要があります。 このため、次のパラメータを設定して、「Reverse」 タブをクリックします。

パラメータ
Name SRC_GEO_DIM_XML
Technology XML
Logical Schema XML_DEMO_GEO

 

4.

Reverseタブで、Contextドロップダウン・リストから「Global」を選択します。 次に、下方向にスクロールして「Reverse」をクリックします。 これによって、XMLソースが生成されます。

 

 

5.

Yes」をクリックして、確定します。 「OK」をクリックします。

 

6.

Modelsペインで、新しいデータ・ストアが移入されたことを確認します。 「+」ボタンをクリックし、「SRC_GEO_DIM_XML」 モデルを展開して確認します。

 

トピック・リストに戻る

 

データベース表 (CLIENT)のモデルの挿入

このタスクでは、リレーショナル論理スキーマが必要です。 ODI_DATAという名前の新しいスキーマが、Oracle Database XE内ですでに設定されています。 また、Topology Manager内で、新しい物理スキーマがODI_STAGEスキーマに設定されています。 CLIENT表のモデルを挿入するには、以下の手順を実行します。

1.

スタート」→「すべてのプログラム」→「Oracle」 →「Oracle Data Integrator」→「Topology Manager」をクリックし、Oracle Data Integrator Topology Managerを開きます。

 

2.

Security Repository Connectionsダイアログ・ボックスが表示されます。 Nameドロップダウン・リストから「repository」を選択し、「OK」をクリックします。

ユーザー名とパスワードは、デフォルトではSUPERVISORSUNOPSISに 設定されています。

 

3. 左下のペインへスクロールし、「The physical architecture...」タブをクリックします。

 

 

4.

左上隅のPhysical Architectureペインで、「+」をクリックして「Technologies」 →「Oracle」→「Local_XE」→「Local_XE_ODI_STAGE」を展開します。

 

 

5.

Local_XE_ODI_STAGE」スキーマを右クリックして、「Edit...」を選択します。

 

6.

Physical Schema: Local_XE_ODI_STAGEウィンドウのDefinitionタブで、Errorsの値をE$_からE$へと変更 し、「OK」をクリックします。

 

 

7.

Oracle Data Integrator Designerで、「Models」タブをクリックします。

 

 

8.

Modelsペインを右クリックして、「Insert Model」を選択します。

 

 

9.

Model: Newウィンドウで、次の表にある値を入力します。

パラメータ
Name RDBMS_TARGET
Technology Oracle
Logical Schema ODI_STAGE

 

 

 

10.

Reverse」タブをクリックします。 Contextドロップダウン・リストから「Global」 を選択し、「OK」をクリックします。

 

 

11.

Modelsペインで、「+」をクリックして「RDBMS_TARGET」→「SRC_GEO_DIM_XML」 を展開します。

 

 

12.

SRC_GEO_DIM_XMLの下にある「CLIENT」を右クリックして、「Duplicate」を 選択します。

 

 

13.

Yes」をクリックします。

 

 

14.

新しい複製である「Copy of CLIENT」を、SRC_GEO_DIM_XMLモデルから RDBMS_TARGETモデルにドラッグします。 次に、RDBMS_TARGETの下にある「Copy of CLIENT」データ・ ストアを右クリックして、「Edit...」を選択します。

Object Lockingダイアログ・ボックスが表示された場合は、「No」 をクリックします。

 

15.

Data Store: Copy of CLIENTウィンドウで、NameをCLIENTに変更して「OK」 をクリックします。

RDBMS_TARGETに物理表は作成されていません。 インタフェースが実行されると、インタフェースは物理表(CLIENT)を作成します。

 

 

トピック・リストに戻る

 

Copy of CITY_CLIENT制約の削除

CLIENTデータ・ストアを複製する際に、XMLファイルの制約もコピーされています。 この制約を削除するには、以下の手順を実行します。

1.

Oracle Data Integrator DesignerのModelsペインで、「+」 をクリックして「RDBMS_TARGET」→「CLIENT」→「Constraints」→「CITY Copy of CITY_CLIENT」を展開します。

 

 

2.

CITY Copy of CITY_CLIENT」を右クリックして、「Delete」を選択しま す。 「Yes」をクリックして、確定します。

 

トピック・リストに戻る

 

CLIENTデータ・ス トアでのOracle Data Integrator制約の設定

CLIENTデータ・ストアでOracle Data Integrator制約を設定するには、以下の手順を実行します。

1.

Oracle Data Integrator Designerで、「RDBMS_TARGET」 →「CLIENT」→「Constraints」を展開します。 次に、「Constraints」 を右クリックして、「Insert Condition」を選択します。

 

 

2.

Condition: Newウィンドウで、次の表にある値を入力し、「OK」をクリックします。

パラメータ
Name AgeConstraint
Type Oracle Data Integrator
Where cast(Client.age as numeric) >=21
Message Client must be at least 21 years old

 

トピック・リストに戻る

 

ナレッジ・モジュールの インポート

インタフェースを作成する前に、XMLデータをロードおよび統合するために必要なLKMとIKMをプロジェクトにインポートします。 それには、以下の手順を実行します。

1.

Oracle Data Integrator Designerで、「Projects」 タブをクリックします。

 

2.

+」をクリックして、「ODI_ER_HSP」→「Knowledge Modules」 →Loading」を展開します。

 

 

3. Loading(LKM)」を右クリックして、「Import Knowledge Modules...」を選択します。

 

 

4.

Import Knowledge Modules...(XML FIle)ダイアログ・ボックスが表示されます。 File import directoryフィールドの右側にある「...」ボタンをクリックします。 I:\ODI\oracledi\impexpを 参照して、「OK」をクリックします。

 

 

5.

Select the file(s) to importセクションで、下方向にスクロールして「LKM SQL to SQL」を選択し、「OK」をクリックします。

 

6.

同様に、Knowledge Modulesの下にあるIntegrationとCheckで、次の表に示されている値を選択します。

パラメータ
Integration IKM SQL Control Append
Check CKM SQL

最終的に、Knowledge Modulesを展開したときの表示は、次のようになります。

 

 

トピック・リストに戻る

 

XMLファイルをロード するための新しいインタフェースの作成

XMLファイルをロードするための新しいインタフェースを作成するには、以下の手順を実行します。

1.

Oracle Data Integrator DesignerのProjectsペインで、「+」 をクリックして「ODI_ER_HSP」→「First Folder」→「Interfaces」を展開し ます。

 

2.

Interface」を右クリックして、「Insert Interface」 を選択します。

 

3.

Interface: NEWダイアログ・ボックスが表示されます。 Definitionタブで、次の表にある値を入力します。

パラメータ
Name INT_LOAD_TBL_CLIENT
Staging Area Different From Target このオプションを選択
Memory SUNOPSIS_MEMORY_ENGINE

 

4.

Diagram」タブをクリックします。 次に、「Models」タブをクリックして、ソースとター ゲットをOracle Data Integrator Designerへドラッグします。 「CLIENT」データ・ストアを SRC_GEO_DIM_XMLからSourceコンテナへドラッグします。 「CLIENT」データ・ストアをRDBMS_TARGET からTargetコンテナへドラッグします。

 

 

5.

Yes」をクリックします。

 

6.

下方向にスクロールして、「Key」チェック・ボックスをオンにします。

 

 

7.

Flow」タブをクリックして、実行フローを表示します。

 

 

8.

Target (XML_GEO_DIM)ダイアログ・ボックスで、RECYCLE_ERRORSドロップダウン・リス トから「Yes」を選択します。

 

 

9.

CREATE_TARG_TABLEドロップダウン・リストから、「Yes」を選択します。

 

 

10.

Controls」タブを選択し、下方向にスクロールして「Apply」をクリックします。

Object Lockingダイアログ・ボックスが表示された場合は、「No」 をクリックします。

 

トピック・リストに戻る

パッケージを実行するには、以下の手順を実行します。

1.

Execute」をクリックします。

 

 

2.

Executionダイアログ・ボックスで、デフォルト値を変更せずに「OK」をクリックします。もう一度、「OK」 をクリックします。

 

3.

スタート」→「すべてのプログラム」→「Oracle」→「Oracle Data Integrator」→「Operator」を選択して、Oracle Data Integrator Operatorを開きます。 Nameドロップダウン・リストから「Repo_designer」を選択し、「OK」をク リックします。

ユーザー名とパスワードは、デフォルトではSUPERVISORSUNOPSISに 設定されています。

 

4.

左下のペインで、「Hierarchical Sessions」タブをクリックします。 ペインを上方向にスクロールし、「+」をクリックして「Date」→「The date of execution」 →「Steps」→「Load Step」を展開します。

ロードを実行する際の詳細なステップが分かります。 これによって、Oracle Data IntegratorインタフェースがCLIENTという名前のデータベース表にXMLファイルをインポートすることを確認できます。

 

トピック・リストに戻る

 

インタフェースの実行 による制約エラーの確認

インタフェースを実行して制約エラーを確認するには、以下の手順を実行します。

1.

Oracle Data Integrator Designerで、「+」をク リックして「RDBMS_TARGET」→「CLIENT」を展開します。「CLIENT」を右クリックし て、「Control」→「Errors...」を選択します。

 

 

2.

Error:CLIENTダイアログ・ボックスに、値が表示されます。 これで、ターゲット・スキーマ上のE_CLIENT表を更新できます。また、これ以降のインタフェースの実行では、E_CLIENT表の行がOracle Data Integratorによって再利用されます。 この時点で、制約をパスする行は、ターゲットにロードされます。 「OK」をク リックします。

 

 

トピック・リストに戻る

このチュートリアルでは、次の内容について学習しました。

トピック・リストに戻る

前提条件の確認
このOBEチュートリアルについての質問は、OBE Discussion Forumに投稿してください。

トピック・リストに戻る

このアイコンの上にカーソルを置くと、すべてのスクリーンショットが 非表示になります。