8 複合ファイル
この章の内容は次のとおりです。
概要
Oracle Data Integratorでは、複数のファイル・タイプがサポートされています。この章では、複合(またはネイティブ)ファイル形式の使用方法について説明します。ASCIIまたはEBCDICデータを含む単純な固定ファイルまたはデリミタ付きファイルの詳細は、「ファイル」を参照してください。
複合ファイルのために、ファイル構造を記述するネイティブ・スキーマ記述ファイルを作成できます。Oracle Data Integratorでは、このネイティブ・スキーマ(nXSD)記述およびOracle Data Integrator Driver for Complex Filesを使用して、リバース・エンジニアリングおよび複合ファイルからの情報の読取りと書込みを実行できます。
ネイティブ・フォーマット・ビルダー・ウィザードを使用したネイティブ・スキーマ記述ファイルの作成方法の詳細は、「ネイティブ・フォーマット・ビルダーを使用したネイティブ・スキーマ記述ファイルの作成」を参照してください。複合ファイル・ドライバの参照情報は、「Oracle Data Integrator Driver for Complex Filesの参照情報」を参照してください。
概念
Oracle Data Integrator Driver for Complex Files(複合ファイル・ドライバ)によって、ネイティブ・フォーマットがリレーショナル構造に変換され、このリレーショナル構造がデータ・モデルとしてOracle Data Integratorで公開されます。
複合ファイル・ドライバでは、ネイティブ・スキーマ(nXSD)の記述での定義に従い、ネイティブ・ファイルをXML構造に内部的に変換し、このXMLファイルから、Oracle Data Integratorによって消費されるリレーショナル・スキーマを生成します。全体的なメカニズムを図8-1に示します。
複合ファイルに使用されるほとんどの概念とプロセスは、XMLファイルに使用されるものと同等です。主な違いは、ドライバによって内部的に使用されるが保持されないXML構造に、ネイティブ・ファイルを透過的に変換するステップです。
複合ファイル・テクノロジの概念は、Oracle Data Integratorの概念に次のようにマップされます。1つの複合ファイルは、Oracle Data Integratorの1つのデータ・サーバーに対応します。このデータ・サーバー内で、単一のスキーマが複合ファイルの内容にマップされます。
Oracle Data Integrator Driver for Complex File(複合ファイル・ドライバ)によって、ネイティブ・ファイルの複合構造がリレーショナル・スキーマにロードされます。このリレーショナル・スキーマは、SQLを使用した問合せまたは変更が可能なスキーマ内にある一連の表です。複合ファイル・ドライバでは、リレーショナル・スキーマを複合ファイルにアンロードすることもできます。リレーショナル・スキーマは、ODIで、データ・モデルとして、表、列および制約とともに、リバース・エンジニアリングされます。このモデルは、ODI内で通常のリレーショナル・データ・モデルと同様に使用されます。リレーショナル・スキーマ内で変更されたデータを複合ファイルに書き込む必要がある場合、リレーショナル・スキーマをファイルに同期化する、ドライバの機能を使用できます。
単純なフラット・ファイル形式(固定およびデリミタ付き)ではファイル・テクノロジを、XMLファイルではXMLテクノロジを使用することをお薦めします。詳細は、ファイルおよびXMLファイルを参照してください。
複合ファイル・ドライバの事前/事後処理サポート
データを複合ファイル・ドライバに提供する方法をカスタマイズできるようになりました。中間処理ステージを設定して、Oracle Data Integratorを使用して外部エンドポイントから取得されるデータを処理したり、データを外部エンドポイントに書き出すことができます。
複合ファイル・ドライバの事前および事後処理ステージの構成および実装の詳細は、「XMLおよび複合ファイル・ドライバの事前/事後処理サポート」を参照してください。
ナレッジ・モジュール
複合ファイル・データ・サーバーを任意のSQLデータ・サーバーとして使用できます。複合ファイル・データ・サーバーでは、SQLデータ・サーバーをソース指定またはターゲット指定するテクノロジ固有のKMと汎用KMの両方がサポートされています。これらのKMの詳細は、「汎用SQL」またはテクノロジの章を参照してください。
複合ファイル・データ・サーバーに書き込むとき、IKM XML Control Appendを使用することもできます。このナレッジ・モジュールには、複合ファイル・ドライバでサポートされている、リレーショナル・スキーマからファイルへデータを同期化するための特定のオプションが実装されています。
インストールおよび構成
複合ファイル・テクノロジでの作業を開始する前に、この項の情報を必ず読んでください。
システム要件
インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。
サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network (OTN)からアクセスできます。
http://www.oracle.com/technetwork/middleware/data-integrator/documentation/index.html。
接続性要件
この項では、複合ファイルに接続するための要件をリストします。
Oracle Data Integrator Driver for Complex Files
複合ファイルへのアクセスは、Oracle Data Integrator Driver for Complex Fileを介して行われます。このJDBCドライバはOracle Data Integratorとともにインストールされるもので、その他のコンポーネントのインストールや構成は不要です。
システム管理者から次の接続情報を入手する必要があります。
-
ネイティブ・ファイルに関連付けられているネイティブ・スキーマ(nXSD)ファイルの場所
-
ネイティブ複合ファイルの場所
ネイティブ・フォーマット・ビルダーを使用したネイティブ・スキーマ記述ファイルの作成
ネイティブ・フォーマット・ビルダー・ウィザードを使用してネイティブ・スキーマ(nXSD)記述ファイルを作成できます。複合ファイル・データ・サーバーを作成する場合、データ・サーバー・エディタからネイティブ・フォーマット・ビルダー・ウィザードを起動できます。
ネイティブ・フォーマット・ビルダーを使用してネイティブ・スキーマ記述ファイルを作成するには、次のようにします。
- トポロジ・ナビゲータで、「物理アーキテクチャ」アコーディオンの「テクノロジ」ノードを開きます。
- 複合ファイル・テクノロジを選択します。
- 右クリックして「新規データ・サーバー」を選択します。
- 「JDBC」タブで、「nXSDを編集します」ボタンをクリックします。ネイティブ・フォーマット・ビルダー・ウィザードが表示されます。
- 画面上の指示に従って、ネイティブ・フォーマット・ビルダー・ウィザードを完了してネイティブ・スキーマ記述ファイルを作成します。
ネイティブ・スキーマ形式の詳細は、テクノロジ・アダプタ・ユーザーズ・ガイドのネイティブ・フォーマット・ビルダー・ウィザードに関する項を参照してください。
トポロジの設定
トポロジの設定には次が含まれます。
複合ファイル・データ・サーバーの作成
複合ファイル・データ・サーバーは、Oracle Data Integratorにアクセス可能な1つのネイティブ・ファイルに対応します。
注意:
メモリー内エンジンの使用はベスト・プラクティスではなく、複合ファイル・テクノロジを使用したときに問題が発生する場合があります。
エラーの原因: メモリー内HSQLを本番で使用することはお薦めしません。ODIの範囲を超えてメモリー・リークが発生し、最終的にJVMが停止します。開発のみでの使用を対象としています。Oracle、MySQL、MS SQLServerなどの外部DBに切り替えることをお薦めします。
データ・サーバーの作成
『Oracle Data Integratorの管理』のデータ・サーバーの作成に関する項に記載されている標準の手順で、複合ファイル・テクノロジ用データ・サーバーを作成します。この項では、複合ファイル・データ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。
複合ファイル物理スキーマの作成
『Oracle Data Integratorの管理』の物理スキーマの作成に関する項の説明に従って、標準の手順を使用して複合ファイル物理スキーマを作成します。
URLで設定したスキーマ名が表示されます。「データ・スキーマ」および「作業スキーマ」の両方について、このスキーマを選択します。
『Oracle Data Integratorの管理』の論理スキーマの作成に関する項の説明に従って、標準の手順を使用してこの物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。
統合プロジェクトの設定
複合ファイル・テクノロジを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Data Integratorでの統合プロジェクトの開発』の統合プロジェクトの作成に関する項を参照してください。
最初は、使用するプロジェクトに次のナレッジ・モジュールをインポートすることをお薦めします。
-
LKM SQL to SQL
-
IKM XML Control Append
これらのナレッジ・モジュール以外に、使用する製品に関連する他のテクノロジ固有のファイル・ナレッジ・モジュールもインポートできます。
複合ファイル・モデルの作成およびリバース・エンジニアリング
この項では、次の項目について説明します。
複合ファイル・モデルの作成
複合ファイル・モデルによって、一連のデータストアがグループ化されます。各データストアは通常、ネイティブ・スキーマを使用してネイティブ・ファイルから生成される中間XMLファイル内の要素を表します。
『Oracle Data Integratorでの統合プロジェクトの開発』のモデルの作成に関する項の説明に従って、標準の手順を使用して複合ファイル・モデルを作成します。
複合ファイル・モデルのリバース・エンジニアリング
複合ファイル・テクノロジでは、複合ファイル・ドライバの機能のみを使用する標準のリバース・エンジニアリングがサポートされます。
標準のリバース・エンジニアリング
複合ファイル・モデルで標準のリバース・エンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』のモデルのリバース・エンジニアリングに関する項の説明に従って、通常の手順を使用します。
このリバース・エンジニアリングでは、XMLファイルのリバース・エンジニアリングと同じプロセスが使用されます。データ・サーバーURLで提供されるネイティブ・スキーマ(nXSD)は、XML構造を記述するためのXSDファイルとして使用されます。詳細は、「XMLモデルのリバース・エンジニアリング」および「XMLからSQLへのマッピング」を参照してください。