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

前
 
 

C Oracle Data Integrator Driver for Complex Filesの参照情報

この付録では、Oracle Data Integrator driver for Complex Filesの使用方法を説明します。

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

C.1 Oracle Data Integrator Driver for Complex Filesの概要

Oracle Data Integrator Driver for Complex Files(複合ファイル・ドライバ)では、複合(またはネイティブ)フォーマットのファイルがJDBCデータソースとして処理されます。これにより、複合ファイルをOracle Data Integratorでデータ・サーバーとして使用することが可能になります。

複合ファイル・ドライバとともにOracle Data Integratorを使用すると、複合ファイルへの変更を標準のSQL構文で実行できます。これらの操作はトランザクション内で発生し、コミットまたはロールバックが可能です。

Oracle Data Integrator driver for Complex Filesでサポートされている機能は次のとおりです。

C.2 複合ファイルの処理の概要

複合ファイル・ドライバでは、ネイティブ・スキーマ・ファイルを使用します。このファイルは、nXSD形式で記述され、ネイティブ・ファイルの構造およびネイティブ・ファイルをXMLファイルに変換する方法を示します。

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

図C-1 複合ファイル・ドライバの処理

図C-1の説明が続きます
「図C-1 複合ファイル・ドライバの処理」の説明

XML構造から始まる処理の2番目の部分は、Oracle Data Integrator Driver for XMLの機能に正確に対応しています。

複合ファイル・ドライバは次のように機能します。

  1. 複合ファイルはネイティブ・スキーマ(nXSD)ファイルを使用して中間XMLファイルに変換されます。中間XMLファイルに対して物理ファイルは作成されず、ストリーミングXML構造が作成されることに注意してください。

  2. ドライバは、XMLからSQLへのマッピングを使用して、XML構造およびデータをリレーショナル・スキーマにロードします。

  3. ユーザーは、通常のSQL文、またはドライバ操作用の特定のドライバ・コマンドを介してデータを操作し、リレーショナル・スキーマを使用します。

  4. 複合ファイル・ドライバは、切断時またはユーザー・リクエストに応じて、スキーマに格納されているデータおよび構造を元の複合ファイルに同期化します

C.2.1 ネイティブ・スキーマの生成

ネイティブ・スキーマは、手動で作成することも、Fusion Middlewareテクノロジ・アダプタの一部として利用可能なネイティブ・フォーマット・ビルダー・ウィザードを使用して生成することもできます。ネイティブ・スキーマ形式およびネイティブ・フォーマット・ビルダー・ウィザードの詳細は、テクノロジ・アダプタ・ユーザーズ・ガイドのネイティブ・フォーマット・ビルダー・ウィザードに関する項を参照してください。

C.2.2 XMLからSQLへのマッピング

XMLからSQLへのマッピングは複雑なプロセスで、階層構造(XML)をリレーショナル構造(スキーマ)にマップするために使用されます。このマッピングは自動的に行われます。詳細は、B.2.1項「XMLからSQLへのマッピング」を参照してください。

C.2.3 サポートされている機能

複合ファイル・ドライバは、XMLドライバと同じ機能をサポートしています。

  • 組込みエンジンまたは外部データベースへのスキーマの格納が、XMLドライバと同じ方法でサポートされます。詳細は、B.2.3.1項「スキーマの格納」およびB.3.3項「外部データベースを使用したデータの格納」を参照してください。

  • 複数のスキーマがサポートされ、次の点が異なります。

    • 接続時には、ネイティブ・スキーマ・ファイルに基づいて、単一のスキーマのみを作成できます。

    • B.3.2項「複数のスキーマの自動作成」で示されている、接続時に複数のスキーマの作成を可能にするパラメータはサポートされていません。これには、add_schema_bundleadd_schema_pathおよびaddschema_Xが含まれます。

    • 接続後、CREATE SCHEMAおよびLOAD FILEコマンドを使用して追加のスキーマを作成できます。

  • XMLドライバと同様に、大/小文字の区別が管理されます。詳細は、B.2.3.4項「大/小文字の区別」を参照してください。

  • 複合ファイル・ドライバでのロード/同期化は、XMLドライバと同じように機能します。ロード/同期化操作はネイティブ・ファイルに自動的に伝播します。詳細は、B.2.3.5項「ロード/同期化」を参照してください。

  • ロックがサポートされています。複合ファイルは接続時にロックされ、切断時にロック解除されます。UNLOCK FILEコマンドがサポートされています。

C.3 ドライバの構成

Oracle Data Integrator driver for Complex Filesは、Oracle Data Integratorとともに自動的にインストールされます。次の各項では、拡張構成の説明および参照情報を示します。

この項ではドライバの構成について説明します。

URLのプロパティの詳細を表C-0に示します。

表C-1 ドライバのプロパティ

プロパティ 必須 種類 デフォルト 説明

fileまたはf

はい

文字列(ファイルの場所)

-

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

dtdまたはd

はい

文字列(ファイルの場所)

-

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

root_eltまたはre

はい

文字列

-

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

read_onlyまたはro

いいえ

ブール値(true | false)

false

ネイティブ・ファイルを読取り専用モードで開きます。

schemaまたはs

いいえ

文字列

-

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

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

注意: スキーマへの接続を複数作成することはできません。すでに使用中のスキーマに接続しようとした場合、後続の接続は失敗します。

重要: スキーマ名は大文字で指定する必要があります。既存のXML要素と似た名前を付けることはできません。

standalone

いいえ

ブール値(true | false)

false

このオプションをtrueに設定すると、この接続のスキーマは、他のすべてのスキーマから完全に分離されます。このオプションでは、各スキーマを分離したまま複数の接続に対して同じスキーマ名を指定できます。このオプションを使用すると、このスキーマの表に他のスキーマからアクセスできません。また、この接続で他のスキーマの表にもアクセスできません。

db_propsまたはdp

いいえ

文字列

-

このプロパティは、メモリー・エンジンのかわりに外部データベースを使用してスキーマを格納するために使用します。

詳細は、B.3.3項「外部データベースを使用したデータの格納」を参照してください。

load_data_on_connectまたはldoc

いいえ

ブール値(true | false)

true

JDBC接続の実行時に、スキーマにデータを自動的にロードします。falseに設定した場合は、接続後にSYNCHRONIZE文を使用してデータをロードする必要があります。

このオプションは、すべてのデータをロードせずに接続をテストしたりメタデータを参照するのに役立ちます。

drop_on_discまたはdod

いいえ

ブール値(true | false)

false

JDBC接続を閉じるとき、スキーマを自動的にドロップします。

trueの場合、スキーマは組込みエンジンに格納され、常にドロップされます。

スキーマが外部データベースに格納されている場合、ドライバはデータベース・スキーマのドロップを試行しますが、このスキーマ内に表がまだ存在していると失敗する可能性があります。スキーマのドロップ時に自動的にすべての表が確実にドロップされるようにするには、外部データベースのプロパティ・ファイルでdrop_tables_on_drop_schemaプロパティを指定します。詳細は、B.3.3項「外部データベースを使用したデータの格納」を参照してください。

useMaxValue

いいえ

ブール値(true | false)

false

このプロパティをtrueに設定した場合、スキーマでmaxOccursが指定されていない要素は、maxOccurs ="unbounded"とみなされます。それ以外の場合、maxOccursが指定されていない要素はmaxOccurs=1とみなされます。

java_encodingまたはje

いいえ

文字列(エンコーディング・コード)

UTF8

ターゲット・ファイルのエンコーディング(例: ISO8859_1)。サポートされているエンコーディングのリストは、次のURLにあります: http://java.sun.com/j2se/1.3/docs/guide/intl/encoding.doc.html

numeric_idまたはni

いいえ

ブール値(true | false)

true

trueに設定すると、すべての内部の主キーおよび外部キーがNUMERIC型になります。それ以外の場合はVARCHAR型になります。

id_lengthまたはil

いいえ

整数

10 / 30

内部の主キーおよび外部キーの列の長さ。デフォルトは、列型がNUMERICの場合は10、VARCHARの場合は30です。

numeric_scaleまたはns

いいえ

整数

リレーショナル・スキーマで生成される数値列のスケール。

no_batch_updateまたはnobu

いいえ

ブール値(true | false)

false

この接続にはバッチ更新は使用されません。バッチ更新を設定するコマンドは送信されません。これにより、このJDBC機能をサポートしていない外部データベースに関するエラーの発生を回避し、バッチ更新の使用に関するエラーをデバッグできます。

log_fileまたはlf

いいえ

文字列(ファイルの場所)

-

ログ・ファイルの名前。ログ・ファイル値が空の場合は、トレースが標準の出力に表示されます。

このプロパティが存在することで、スキーマのトレースがトリガーされます。それぞれのスキーマに異なるトレース・ファイルを使用できます。

log_levelまたはll

いいえ

整数

-

ログ・レベル。ログ・レベルは次の値のマスクです。

  • 1: 重要な内部イベント

  • 2: 詳細な内部イベント

  • 4: ネイティブSQLコマンド

  • 8: XMLリレーショナル・マッピング計算

  • 16: XMLリレーショナル・マッピング検証(表名の変更など)

例:

  • 重要および詳細な内部イベントのトレース: log_level=3 (1+2)

  • ネイティブSQLコマンドおよび重要な内部イベントのトレース: log_level=5 (1+4)

  • XMLリレーショナル・マッピングの計算および検証のトレース: log_level=24 (16+8)

  • すべてのイベントのトレース: log_level=31 (1+2+4+8+16)

tna

いいえ

ブール値(true|false)

true

非ASCIIを変換します。非ASCII文字を保持するにはfalseに設定します。


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

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

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

C.4 ドライバ・コマンドの詳細

複合ファイル・ドライバでは、XMLドライバと同じSQL構文がサポートされています。XMLドライバでサポートされているSQL構文の詳細は、B.5項「SQL構文」を参照してください。

このルールには次の例外があります。

C.5 サポートされているJDBC APIおよびXMLスキーマの機能

複合ファイル・ドライバは、XMLドライバと同じJDBC機能をサポートしています。詳細は、B.5項「SQL構文」を参照してください。