ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Data Integrator接続およびナレッジ・モジュール・ガイド
12c (12.1.2)
E49825-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次

前
 
次
 

6 複合ファイル

この章では、Oracle Data Integratorでの複合ファイルの使用方法について説明します。

この章には次の項が含まれます:

6.1 概要

Oracle Data Integratorでは、複数のファイル・タイプがサポートされています。この章では、複合(またはネイティブ)ファイル形式の使用方法について説明します。ASCIIまたはEBCDICデータを含む単純な固定ファイルまたはデリミタ付きファイルの詳細は、第3章「ファイル」を参照してください。

複合ファイルのために、ファイル構造を記述するネイティブ・スキーマ記述ファイルを作成できます。Oracle Data Integratorでは、このネイティブ・スキーマ(nXSD)記述およびOracle Data Integrator Driver for Complex Filesを使用して、リバース・エンジニアリングおよび複合ファイルからの情報の読取りと書込みを実行できます。

ネイティブ・スキーマ形式の詳細は、テクノロジ・アダプタ・ユーザーズ・ガイドのネイティブ・フォーマット・ビルダー・ウィザードに関する項を、複合ファイル・ドライバの参照情報は、付録C「Oracle Data Integrator Driver for Complex Filesの参照情報」を参照してください。

6.1.1 概念

Oracle Data Integrator Driver for Complex Files(複合ファイル・ドライバ)によって、ネイティブ・フォーマットがリレーショナル構造に変換され、このリレーショナル構造がデータ・モデルとしてOracle Data Integratorで公開されます。

複合ファイル・ドライバでは、ネイティブ・スキーマ(nXSD)の記述での定義に従い、ネイティブ・ファイルをXML構造に内部的に変換し、このXMLファイルから、Oracle Data Integratorによって消費されるリレーショナル・スキーマを生成します。全体的なメカニズムを図6-1に示します。

図6-1 複合ファイル・ドライバ・プロセス

図6-1の説明が続きます
「図6-1 複合ファイル・ドライバ・プロセス」の説明

複合ファイルに使用されるほとんどの概念とプロセスは、XMLファイルに使用されるものと同等です。主な違いは、ドライバによって内部的に使用されるが保持されないXML構造に、ネイティブ・ファイルを透過的に変換するステップです。

複合ファイル・テクノロジの概念は、Oracle Data Integratorの概念に次のようにマップされます。1つの複合ファイルは、Oracle Data Integratorの1つのデータ・サーバーに対応します。このデータ・サーバー内で、単一のスキーマが複合ファイルの内容にマップされます。

Oracle Data Integrator Driver for Complex File(複合ファイル・ドライバ)によって、ネイティブ・ファイルの複合構造がリレーショナル・スキーマにロードされます。このリレーショナル・スキーマは、SQLを使用した問合せまたは変更が可能なスキーマ内にある一連の表です。複合ファイル・ドライバでは、リレーショナル・スキーマを複合ファイルにアンロードすることもできます。リレーショナル・スキーマは、ODIで、データ・モデルとして、表、列および制約とともに、リバース・エンジニアリングされます。このモデルは、ODI内で通常のリレーショナル・データ・モデルと同様に使用されます。リレーショナル・スキーマ内で変更されたデータを複合ファイルに書き込む必要がある場合、リレーショナル・スキーマをファイルに同期化する、ドライバの機能を使用できます。

単純なフラット・ファイル形式(固定およびデリミタ付き)ではファイル・テクノロジを、XMLファイルではXMLテクノロジを使用することをお薦めします。詳細は、第3章「ファイル」および第5章「XMLファイル」を参照してください。

6.1.2 ナレッジ・モジュール

複合ファイル・データ・サーバーを任意のSQLデータ・サーバーとして使用できます。複合ファイル・データ・サーバーでは、SQLデータ・サーバーをソース指定またはターゲット指定するテクノロジ固有のKMと汎用KMの両方がサポートされています。これらのKMの詳細は、第4章「汎用SQL」またはテクノロジの章を参照してください。

複合ファイル・データ・サーバーに書き込むとき、IKM XML Control Appendを使用することもできます。このナレッジ・モジュールには、複合ファイル・ドライバでサポートされている、リレーショナル・スキーマからファイルへデータを同期化するための特定のオプションが実装されています。

6.2 インストールおよび構成

複合ファイル・テクノロジでの作業を開始する前に、この項の情報を必ず読んでください。

6.2.1 システム要件

インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。

サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network (OTN)からアクセスできます。

http://www.oracle.com/technology/products/oracle-data-integrator/index.html

6.2.2 テクノロジ固有の要件

Oracle Data Integratorで複合ファイルを使用するためのテクノロジ固有の要件はありません。

6.2.3 接続性要件

この項では、複合ファイルに接続するための要件をリストします。

Oracle Data Integrator Driver for Complex Files

複合ファイルへのアクセスは、Oracle Data Integrator Driver for Complex Fileを介して行われます。このJDBCドライバはOracle Data Integratorとともにインストールされるもので、その他のコンポーネントのインストールや構成は不要です。

システム管理者から次の接続情報を入手する必要があります。

  • ネイティブ・ファイルに関連付けられているネイティブ・スキーマ(nXSD)ファイルの場所

  • ネイティブ複合ファイルの場所

6.3 トポロジの設定

トポロジの設定には次が含まれます。

  1. 複合ファイル・データ・サーバーの作成

  2. 複合ファイル物理スキーマの作成

6.3.1 複合ファイル・データ・サーバーの作成

複合ファイル・データ・サーバーは、Oracle Data Integratorにアクセス可能な1つのネイティブ・ファイルに対応します。

6.3.1.1 データ・サーバーの作成

『Oracle Data Integrator開発者ガイド』のデータ・サーバーの作成に関する項に記載されている標準の手順で、複合ファイル・テクノロジ用データ・サーバーを作成します。この項では、複合ファイル・データ・サーバーの定義に関する必須または固有のフィールドのみについて説明します。

  1. 「定義」タブ:

    • 名前: Oracle Data Integratorに表示されるデータ・サーバーの名前。

    • ユーザー/パスワード: これらのフィールドは、複合ファイル・データ・サーバーでは使用しません。

  2. 「JDBC」タブで次の値を入力します。

    • JDBCドライバ: oracle.odi.jdbc.driver.file.complex.ComplexFileDriver

    • JDBC URL: jdbc:snps:complexfile?f=<native file location>&d=<native schema>&re=<root element name>&s=<schema name>[&<property>=<value>...]


      注意:

      sパラメータはオプションです。sパラメータを指定しないと、Oracle Data Integratorによって自動的にスキーマが指定されます。


    表6-1に、Oracle Data Integrator Driver for Complex Filesの主なプロパティをリストします。これらのプロパティは、JDBC URL内で指定できます。

    これらのプロパティの詳細、およびすべてのプロパティの包括的なリストは、付録C「Oracle Data Integrator Driver for Complex Filesの参照情報」を参照してください。

    表6-1 複合ファイル・ドライバのプロパティ

    プロパティ 説明

    f

    <ネイティブ・ファイルの名前>

    ネイティブ・ファイルの場所。パス名には、バックスラッシュ"\"ではなくスラッシュ"/"を使用します。HTTP、FTPまたはファイルのURLを使用してファイルの場所を示すことができます。URLによって示されたファイルは読取り専用です。このパラメータは必須です。

    d

    <ネイティブ・スキーマ>

    ネイティブ・スキーマ(nXSD)ファイルの場所。このパラメータは必須です。

    re

    <ルート要素>

    スキーマのルート表として選択する要素の名前。この値では大/小文字が区別されます。このプロパティは、ネイティブ・スキーマの特定のセクションなどのリバース・エンジニアリングに使用できます。このパラメータは必須です。

    s

    <スキーマ名>

    複合ファイルのロード先となるリレーショナル・スキーマの名前。このパラメータはオプションです。

    このスキーマは、複合ファイル・データ・サーバーの下に物理スキーマを作成する際に選択されます。


    これらのプロパティを次の例に示します。

    products.nxsdによって説明されるPROD20100125_001.csvファイルに接続し、このファイルをリレーショナル構造としてPRODUCTスキーマで公開します。

    jdbc:snps:complexfile?f=/infiles/PROD20100125_001.csv&d=/infiles/products.nxsd&re=root&s=PRODUCTS

6.3.2 複合ファイル物理スキーマの作成

『Oracle Data Integrator開発者ガイド』の物理スキーマの作成に関する項に記載されている標準の手順で、複合ファイル物理スキーマを作成します。

URLで設定したスキーマ名が表示されます。「データ・スキーマ」および「作業スキーマ」の両方について、このスキーマを選択します。

『Oracle Data Integrator開発者ガイド』の論理スキーマの作成に関する項に記載されている標準の手順で、この物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。

6.4 統合プロジェクトの設定

複合ファイル・テクノロジを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Data Integrator開発者ガイド』の「統合プロジェクトの作成」を参照してください。

最初は、使用するプロジェクトに次のナレッジ・モジュールをインポートすることをお薦めします。

これらのナレッジ・モジュール以外に、使用する製品に関連する他のテクノロジ固有のファイル・ナレッジ・モジュールもインポートできます。

6.5 複合ファイル・モデルの作成およびリバース・エンジニアリング

この項には次のトピックが含まれます:

6.5.1 複合ファイル・モデルの作成

複合ファイル・モデルによって、一連のデータストアがグループ化されます。各データストアは通常、ネイティブ・スキーマを使用してネイティブ・ファイルから生成される中間XMLファイル内の要素を表します。

『Oracle Data Integrator開発者ガイド』のモデルの作成に関する項に記載されている標準の手順で、複合ファイル・モデルを作成します。

6.5.2 複合ファイル・モデルのリバース・エンジニアリング

複合ファイル・テクノロジでは、複合ファイル・ドライバの機能のみを使用する標準のリバース・エンジニアリングがサポートされます。

標準のリバース・エンジニアリング

複合ファイル・モデルで標準のリバース・エンジニアリングを実行するには、『Oracle Data Integrator開発者ガイド』のモデルのリバース・エンジニアリングに関する項に記載されている通常の手順を行います。

このリバース・エンジニアリングでは、XMLファイルのリバース・エンジニアリングと同じプロセスが使用されます。データ・サーバーURLで提供されるネイティブ・スキーマ(nXSD)は、XML構造を記述するためのXSDファイルとして使用されます。詳細は、5.5.2項「XMLモデルのリバース・エンジニアリング」および「XMLからSQLへのマッピング」を参照してください。

6.6 マッピングの設計

複合ファイルをマッピングのソースまたはターゲットとして使用できます。

マッピングまたはチェック用に選択したKMによって、このマッピングまたはチェックの機能およびパフォーマンスが決まります。この項に示す推奨事項は、複合ファイル・データ・サーバーに関連する様々な状況でのKMの選択に役立ちます。

複合ファイル・データ・モデルは、XML構造と類似のマッピングで処理されます。たとえば、複合ファイルとXMLファイルでは同期モデルが同じであり、両方のテクノロジに同じナレッジ・モジュールを使用できます。

詳細は、第5章「XMLファイル」5.6項「マッピングの設計」を参照してください。