Oracle® Fusion Middleware Oracle Data Integrator接続およびナレッジ・モジュール・ガイド 11gリリース1(11.1.1) B62261-01 |
|
![]() 戻る |
この付録では、Oracle Data Integrator driver for XMLの使用方法を説明します。
この付録の内容は次のとおりです。
Oracle Data Integrator Driver for XML(XMLドライバ)では、XMLドキュメントがJDBCデータソースとして処理されます。これにより、XMLドキュメントをOracle Data Integratorでデータ・サーバーとして使用することが可能になります。
Oracle Data Integrator Driver for XMLとともにOracle Data Integrator使用すると、XMLファイルへの変更を標準のSQL構文で実行できます。これらの操作はトランザクション内で発生し、コミットまたはロールバックが可能です。
Oracle Data Integrator driver for XMLでサポートされている機能は次のとおりです。
標準のSQL(Structured Query Language)構文
相関サブクエリー、内部および外部結合
ORDER BYおよびGROUP BY
COUNT、SUM、MIN、MAX、AVGおよびその他のファンクション
標準のSQLファンクション
トランザクション管理
参照整合性(外部キー)
XMLデータに対して行った変更のXMLファイルへの保存
XMLドライバは次のように機能します。
ドライバは、XMLからSQLへのマッピングを使用して、(接続時またはユーザー・リクエストに応じて)XML構造およびデータをリレーショナル・スキーマにロードします。
ユーザーは、通常のSQL文、またはドライバ操作用の特定のドライバ・コマンドを介してデータを操作し、リレーショナル・スキーマを使用します。
XMLドライバは、切断時またはユーザー・リクエストに応じて、スキーマに格納されているデータおよび構造を元のXMLファイルに同期化します。
XMLからSQLへのマッピングは複雑なプロセスで、階層構造(XML)をリレーショナル構造(スキーマ)にマップするために使用されます。このマッピングは自動的に行われます。
要素および属性のマッピング
XMLドライバでは、XMLの要素および属性が次のようにマップされます。
要素は、同じ名前の表としてマップされます。
属性は、属性と似た名前の列としてマップされます。各列は、属性の要素を表す表内に作成されます。
階層および順序のマッピング
次のように、リレーショナル構造には追加のデータが表示されます。
XML要素の階層、または要素間の1対多関係をマップするために、要素に対応するそれぞれの表には、XMLドライバによって次のような追加の列が生成されます。
<element_name>PK
: 要素を識別するための列です。
<parent_element_name>FK
: 階層内で現在の要素を親とリンクするための列です。この列には、親要素の<element_name>PK
値と一致する値が含まれます。
XMLファイルの要素とは異なり、(特定の列を使用して順序を定義していないかぎり)表のレコードは順序付けされません。要素の順序を保持するために、ドライバでは<element_name>ORDER
という名前の列も生成されます。リレーショナル・スキーマに新しい行を追加する場合は、親要素の下に要素が正しく順序付けされるように、ORDER列が正しく設定されていることを確認してください。
階層のルートは、ルート要素と同じ名前のルート表によって識別されます。この表には、単一のレコードおよび次の列が含まれます。
<root_element_name>PK
: レベル1のすべてのサブ要素は、このPKエントリを参照します。
SNPSFILENAME
: この列には、このスキーマにロードされたXMLファイルの名前が含まれます。
SNPSFILEPATH
: この列には、XMLファイルのパスが含まれます。
SNPSLOADDATE
: この列には、ファイルがスキーマにロードされた日時が含まれます。
この表の値はドライバによって管理されるため、変更しないでください。
マッピング例外
この項では、追加のデータのマッピングに関する特定の状況について説明します。
#PCDATA
のみを含む要素は、表としてはマップされず、それぞれの親要素を表す表の列としてマップされます。これらの列は、<element_name>DATA
という名前になります。
リスト属性は、リンク(PK、FK)を含む新しい表として、リストが含まれている要素を表す表にマップされます。
表名または列名とSQLキーワードとの間の名前の競合を回避するために、SQLキーワードと名前が一致するXML要素および属性の名前は、リレーショナル構造内で自動的に変更されます(名前の後にアンダースコアが追加されます)。たとえば、SELECT
という名前の要素はSELECT_
という名前の表にマップされます。同期化操作の実行時には、これらの要素が元の名前でXMLファイルにリストアされます。
ドライバによって作成される追加のオブジェクトは、XMLファイルの整合性を保つために使用されます。XMLファイルと同期化させるには、これらのレコードをリレーショナル・スキーマにロードする必要があります。
XMLドライバでは、XMLの属性および要素に対して指定されるXML名前空間(xmlns:
)がサポートされています。
構文<namespace>:<element or attribute name>
を使用して名前空間とともに指定された要素または属性は、構文<namespace>_<element or attribute name>
を使用して、名前空間を接頭辞とする表または列としてマップされます。XMLデータを元のファイルに同期化する際には、名前空間の情報が自動的に生成されます。
スキーマは、一連のリレーショナル表を保持するコンテナであり、Oracleデータベースおよび他のRDBMシステムで使用される概念に対応します。各スキーマは、一連のXMLファイル・インスタンス全体を正常に解析して抽出できる、1つの汎用リレーショナル構造です。識別された要素および属性は、適切なリレーショナル表およびフィールドに挿入されます。
このスキーマは、XMLドライバによって、XMLインスタンス・ファイル、DTDファイルまたはXSDファイルから生成されます。DTDまたはXSDファイルからスキーマを生成することをお薦めします。
XMLデータ・サーバーURLの定義で参照できるのは、単一のDTDまたはXSDファイルのみです。そのため、アーティファクトに他のDTDまたはXSDファイルへの参照が含まれる場合は、このDTDまたはXSDがマスターDTDまたはXSDファイルとみなされます。状況によっては、複数のスキーマが必要になる可能性があります。その場合は、add_schema_bundle
プロパティを使用してください。
スキーマは、組込みエンジンまたは外部データベースに格納できます。
組込みエンジンの場合、その他のコンポーネントを実行する必要はありません。XMLスキーマはドライバ内のメモリーに格納されます。このドライバで使用できるSQLコマンドおよびファンクションの詳細は、「SQL構文」を参照してください。
外部データベースとして、リレーショナル・データベース管理システムを使用できます。ドライバは、JDBCを介してこのエンジンに接続し、スキーマの格納に使用します。これによって、次のことが可能になります。
RDBMSエンジンの処理および格納能力の利用
RDBMSの文およびファンクションの利用
スキーマの格納の持続
詳細は、B.3.3項「外部データベースを使用したデータの格納」を参照してください。
同じJDBC接続で、複数のスキーマを処理して複数のXMLファイルに同時にロードすることができます。スキーマのCREATE、TRUNCATE、SETおよびLOAD FILE INTO操作を実行できます。JDBCドライバに接続すると、URLで指定されたスキーマに接続します。SET SCHEMAコマンドを使用すると、現在のスキーマを別のスキーマに設定できます。詳細は、B.4項「ドライバ・コマンドの詳細」を参照してください。
デフォルト・スキーマは、一時データの格納に使用される特定のスキーマです。このデフォルト・スキーマをXMLファイルに関連付けることはできません。
ドライバへの接続の作成時に、XML構造が異なる追加のスキーマを自動的に作成することもできます。詳細は、B.3.1項「ドライバの構成」を参照してください。
スキーマ内のデータはSQL言語を使用して処理されます。
現在のスキーマとは別のスキーマ内の表にアクセスできます。別のスキーマの表にアクセスするには、表名の先頭にスキーマ名およびピリオド(.
)を付けます。次に例を示します。
SELECT col1, schema2.table2.col2, table1.col3 FROM table1, schema2.table2.
この問合せでは、現在のスキーマのtable1、およびschema2のtable2からデータが戻されます。
注意: 他方のスキーマも現在のスキーマと同じ記憶領域(組込みエンジンまたは外部データベース)に格納されている必要があります。 |
スキーマでは大/小文字を区別できません。スキーマ内の要素(表および列)は、すべて大文字で表記されます。XMLファイルの要素名に小文字が含まれている場合、これらの文字は大文字に変換されます。要素がXMLファイルに同期化される際には、これらの名前が元の大/小文字を使用して作成されます。
スキーマは通常、XMLファイルへの接続時に自動的に作成され、XMLファイルに含まれるデータがロードされます。特定のドライバ・コマンドを使用すると、スキーマの作成およびデータのロードを強制的に実行できます。詳細は、B.4項「ドライバ・コマンドの詳細」を参照してください。データの同期化処理も、SYNCHRONIZE
コマンドを使用して強制的に実行できます。詳細は、B.4.9項「SYNCHRONIZE」を参照してください。
ドライバは、XMLファイルにアクセスする際にファイルをロックして、他のドライバ・インスタンスがそのファイルに接続するのを防ぎます。ロック・ファイルの名前はXMLファイルと同じですが、拡張子.lck
が使用されます。
ドライバが不正に切断された場合、ファイルがロックされたままになる可能性があります。このロックを削除するには、.lck
ファイルを削除します。UNLOCK FILEコマンドを使用して、XMLファイルのロックを解除することもできます。
XMLドライバでは、XMLファイルの構造を記述するためにXSDがサポートされています。詳細は、B.7項「サポートされているXMLスキーマの機能」を参照してください。
また、XMLドライバでは、XMLファイル内で指定されたXSDスキーマに対するドキュメントの検証もサポートされています。この操作は、ドライバ固有のVALIDATEコマンドでも実行できます。
Oracle Data Integrator driver for XMLは、Oracle Data Integratorとともに自動的にインストールされます。次の各項では、拡張構成の説明および参照情報を示します。
この項の内容は次のとおりです。
注意: 外部データベース記憶域を使用する場合は、さらに、外部データベースへの接続に使用するJDBCドライバおよび. properties ファイルをクラスパスに含めておく必要があります。 |
この項ではドライバの構成について説明します。
ドライバ名: com.sunopsis.jdbc.driver.xml.SnpsXmlDriver
URL構文:jdbc:snps:xml?[property=value&property=value...]
URLのプロパティの詳細を表B-1に示します。
表B-1 ドライバのプロパティ
プロパティ | 必須 | 種類 | デフォルト | 説明 |
---|---|---|---|---|
fileまたはf |
いいえ |
文字列(ファイルの場所) |
- |
XMLファイルの名前。パス名には、バックスラッシュ(\)でなはくスラッシュ(/)を使用します。HTTP、FTPまたはファイルURLを使用してファイルの場所を示すこともできます。URLで場所を示したファイルは読取り専用です。 XMLファイルの場合、このプロパティが欠落していると、XMLドライバによってリレーショナル・スキーマがDTD/XSDファイルに基づいて作成され、XMLファイルの検索は行われません。 |
dtdまたはd |
いいえ |
文字列(ファイルの場所) |
- |
記述ファイル。このファイルはDTDまたはXSDファイルです。HTTP、FTPまたはファイルURLを使用してファイルの場所を示すこともできます。URLで場所を示したファイルは読取り専用です。 URLで指定されているDTDまたはXSDファイルは、XMLファイル内で指定されているDTDまたはXSDファイルより優先されます。参照は、絶対パスを使用して作成する必要があります。 XMLファイルに関してこのプロパティが欠落しており、XMLファイル内でもDTDまたはXSDが参照されていない場合、ドライバでは、XMLファイルに似た名前に拡張子 generate_dtd URLプロパティの設定によっては、DTDファイルがXMLファイル構造に基づいて作成される場合があります。 DTDまたはXSDファイルが存在しない場合は、XMLファイルの内容のみを使用してリレーショナル構造が作成されます。このような構造からデータ・モデルをリバース・エンジニアリングすることはお薦めしません。DTDまたはXSDに記述されている使用可能な要素が1つのXMLファイル・インスタンスにすべて含まれていなことで、データ・モデルが不完全になる可能性があるためです。 |
root_eltまたはre |
いいえ |
文字列 |
- |
スキーマのルート表として選択する要素の名前。この値では大/小文字が区別されます。このプロパティは、WSDLファイルから特定のメッセージ定義をリバース・エンジニアリングする場合や、使用可能なルート要素がXSDファイル内に複数存在する場合などに使用できます。 重要: このプロパティは、XMLインスタンス・ファイルのルート要素のルート要素定義として機能する、XSDまたはDTDファイルの要素の指定のみに使用されます。 |
read_onlyまたはro |
いいえ |
ブール値(true | false) |
false |
XMLファイルを読取り専用モードで開きます。 |
schemaまたはs |
いいえ |
文字列 |
- |
XMLファイルのロード先となるスキーマの名前。このプロパティが欠落している場合は、XMLファイル名に基づいて、スキーマ名が自動的に生成されます。 XMLデータ・サーバーのURLでこのプロパティが指定されていない場合は、XMLドライバによってスキーマ名が自動的に作成されます。このスキーマの名前として、XMLファイル名の最初の5文字が使用されます。 注意: スキーマへの接続を複数作成することはできません。すでに使用中のスキーマに接続しようとした場合、後続の接続は失敗します。 重要: スキーマ名は大文字で指定する必要があります。 重要: XML要素名と同じスキーマ名を使用することは禁止されています。 |
standalone |
いいえ |
ブール値(true | false) |
false |
このオプションをtrueに設定すると、この接続のスキーマは、他のすべてのスキーマから完全に切り離されます。このオプションを使用することで、各スキーマを分離したまま複数の接続に対して同じスキーマ名を指定できます。このオプションを使用すると、このスキーマの表に他のスキーマからアクセスすることはできません。また、この接続で他のスキーマの表にもアクセスできません。 |
ns_prefix_generationまたはnspg |
いいえ |
auto | xml | xsd |
auto |
このオプションは、名前空間接頭辞の生成方法およびXMLファイルへの書込み方法を定義します。
xsdオプション値は、複数のXSDファイルで異なる名前空間を参照するために、類似した接頭辞が使用されていないことを前提としています。 |
no_default_nsまたはndns |
いいえ |
ブール値(true | false) |
false |
このプロパティをtrueに設定すると、デフォルトの名前空間エントリがないターゲット・ファイルが生成されます。 |
no_closing_tagsまたはnct |
いいえ |
ブール値(true | false) |
false |
このプロパティをtrueに設定すると、終了タグのない空のタグが生成されます(例: <element/>)。falseに設定すると、空の要素が<element></element>のように生成されます。v1_compatibilityプロパティを使用している場合、このプロパティはデフォルトでtrueになります。 |
db_propsまたはdp |
いいえ |
文字列 |
- |
このプロパティは、メモリー・エンジンのかわりに外部データベースを使用してスキーマを格納するために使用します。 db_propsプロパティは、db_propsプロパティと似た名前で拡張子が |
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プロパティを指定します。 |
ignore_unknown_elementsまたはiue |
いいえ |
ブール値(true | false) |
false |
関連付けられているDTD(Document Type Definition)またはXSD(XMLスキーマ定義)ファイルには存在しないXMLファイルの要素をすべて無視します。 |
useMaxValue |
いいえ |
ブール値(true | false) |
false |
このプロパティをtrueに設定した場合、XSDでmaxOccursが指定されていない要素は、maxOccurs ="unbounded"とみなされます。それ以外の場合、maxOccursが指定されていない要素はmaxOccurs=1とみなされます。 |
generate_dtdまたはgd |
いいえ |
yes | no | auto |
auto |
XMLファイルの構造に基づいてDTDファイルを作成する必要があるかどうかを定義します。
警告: このオプションを使用して作成されたDTDファイルには、XMLファイルに出現するXML要素の定義のみが含まれるため、完全でない可能性があります。 |
java_encodingまたはje |
いいえ |
文字列(エンコーディング・コード) |
UTF8 |
ターゲット・ファイルのエンコーディング(例: Javaエンコーディングを指定する場合は、XMLエンコーディングも指定する必要があります。 |
xml_encodingまたはxe |
いいえ |
文字列(エンコーディング・コード) |
UTF8 |
生成されたXMLファイルでタグ内に指定されるエンコーディング(例: XMLエンコーディングを指定する場合は、Javaエンコーディングも指定する必要があります。 |
v1_compatibilityまたはv1 |
いいえ |
ブール値(true | false) |
false |
このプロパティをtrueに設定すると、XMLからSQLへのマッピングがバージョン1.xのように実行されます。このプロパティは互換性のために提供されています。 |
numeric_idまたはni |
いいえ |
ブール値(true | false) |
true |
trueに設定すると、すべての内部の主キーおよび外部キーがNUMERIC型になります。それ以外の場合はVARCHAR型になります。 |
id_lengthまたはil |
いいえ |
整数 |
10 / 30 |
内部の主キーおよび外部キーの列の長さ。デフォルトは、列型がNUMERICの場合は10、VARCHARの場合は30です。 |
numeric_scaleまたはns |
いいえ |
整数 |
空 |
XMLからSQLへのマッピング時に生成される数値列のスケール。 |
no_batch_updateまたはnobu |
いいえ |
ブール値(true | false) |
false |
この接続にはバッチ更新は使用されません。バッチ更新を設定するコマンドは送信されません。これにより、このJDBC機能をサポートしていない外部データベースに関するエラーの発生を回避し、バッチ更新の使用に関するエラーをデバッグできます。 |
add_schema_bundleまたはasb |
いいえ |
文字列 |
- |
追加のスキーマ・バンドル・ファイル。このプロパティは、接続時に追加のスキーマを作成する必要があることを示します。これらの追加のスキーマに関する記述は、add_schema_bundleプロパティに拡張子.propertiesが付いた名前の追加のスキーマ・プロパティ・ファイルに含まれます。追加のスキーマ・プロパティ・ファイルには、有効なJDBCドライバのURLのリストが含まれます。このファイルでは、プロパティ名は無視されます。値のリストのみが考慮されます。 これらの追加のスキーマはすべて、drop_on_disconnectオプションがデフォルトでtrueに設定された状態で作成されます。 追加のスキーマ・プロパティ・ファイルの内容は、たとえば次のようになります。
|
add_schema_pathまたはasp |
いいえ |
文字列(ディレクトリ) |
- |
一連のXSDファイルを含むディレクトリ。このディレクトリの各XSDファイルに対し、そのXSDに基づいて組込みエンジンまたは外部データベース記憶域に追加のスキーマが作成されます。これらの追加のスキーマに対するオブジェクトは、外部データベース記憶域には作成されません。スキーマ名は、生成されるデフォルト名です(ファイル名の最初の5文字を大文字で表記)。 |
log_fileまたはlf |
いいえ |
文字列(ファイルの場所) |
- |
ログ・ファイルの名前。ログ・ファイル値が空の場合は、トレースが標準の出力に表示されます。 このプロパティが存在することで、スキーマのトレースがトリガーされます。それぞれのスキーマに異なるトレース・ファイルを使用できます。 |
log_levelまたはll |
いいえ |
整数 |
- |
ログ・レベル。ログ・レベルは次の値のマスクです。
例:
|
表B-2にURLのサンプルをリストします。
ドライバへの接続の作成時に、XML構造が異なる追加のスキーマを自動的に作成できます。これは、次の方法で実行します。
add_schema_bundle URLプロパティで、作成する別の追加スキーマに対応するJDBC URLのリストが含まれているプロパティ・ファイルを宣言します。
add_schema_path URLプロパティで、一連のXSDファイルが含まれているディレクトリを宣言します。各XSDファイルに対して、XMLスキーマの記述に基づいて追加のスキーマが組込みエンジン内に作成されます。
追加の有効なドライバURLをaddschema_X(Xは数字)という名前のJDBCプロパティとして指定します。addschema_XというJDBCプロパティで検出されたURLごとに、追加のスキーマが作成されます。
これらのすべての追加スキーマは、最後の接続が閉じられると自動的にドロップされます。
これらのスキーマは、JDBCドライバのURLで指定されているプロパティを使用して作成されるスキーマに加えて作成されます。
XMLスキーマのリレーショナル・スキーマ・マッピングは、ほとんどの場合、XMLドライバによって組込みエンジンに格納されます。このドライバでは、外部のリレーショナル・データベースにリレーショナル・スキーマを格納することも可能です。
注意: 外部記憶域用にサポートされるRDBMSには、Oracle、Microsoft SQL Server、MySQLおよびHypersonic SQLなどがあります。外部記憶域がサポートされるテクノロジの完全なリストには、次のOracle Technical Network(OTN)からアクセスできます。
|
外部データベースの使用
外部データベースを使用するには次が必要です。
拡張子が.properties
のファイル。この外部データベースのプロパティ・ファイルには、リレーショナル・データベース・スキーマへのJDBC接続のプロパティが含まれます。
この.properties
ファイルが、XMLドライバを使用するOracle Data Integratorのクラスパスにあること。通常、このファイルはカスタム・ドライバでインストールできます。
JDBC URLのdb_propsプロパティを、プロパティ・ファイルの名前(拡張子.properties
は付けない)に設定します。
注意: XMLドライバでは、外部データベースへの接続時にJDBC接続が使用されます。この外部データベースにアクセスするためのJDBCドライバも、必ずODIクラスパスに配置してください。 |
外部データベースのプロパティをURLで設定または上書きできます。これらのプロパティには、接頭辞として文字列dp_
を付ける必要があります。次に例を示します。
jdbc:snps:xml?file=/temp/payload.xml&dp_driver=<external_db_driver>&dp_url=<external_db_url>
外部データベースのプロパティ・ファイル
外部データベースのプロパティ・ファイルは、各行が<property>=<value>
のペアで構成される一連の行を含むテキスト・ファイルです。
有効なプロパティを表B-3に示します。
表B-3 外部データベース・プロパティ・ファイルのプロパティ
プロパティ | 必須 | 種類 | デフォルト | 説明 |
---|---|---|---|---|
driver |
はい |
文字列 |
- |
JDBCドライバ名。 重要: ドライバ・クラス・ファイルをjavaアプリケーションのクラスパスに配置する必要があります。 |
url |
はい |
文字列 |
- |
JDBC URL |
user |
はい |
文字列 |
- |
データベースへの接続に使用するログイン。 |
password |
はい |
文字列 |
- |
暗号化されたユーザー・パスワード。 注意: パスワードを暗号化するには、 |
schema |
はい |
文字列 |
- |
リレーショナル・スキーマおよびXMLデータを格納するデータベース・スキーマ。このプロパティはMicrosoft SQLServeには使用しないでください。かわりにcatalogプロパティを使用してください。 |
catalog |
はい |
文字列 |
- |
Microsoft SQL Server専用。XMLのデータおよび情報を格納するデータベース・カタログです。 |
drop_on_connectまたはdoc |
いいえ |
ブール値(Y|N) |
N |
すでに存在する場合、データベース・スキーマから表をドロップします。Nに設定すると、既存の表が保持されます。 |
create_tablesまたはct |
いいえ |
(Y | N | AUTO) |
AUTO |
Y: 一貫してスキーマに表を作成します。 N: 状況にかかわらずスキーマに表を作成しません AUTO: 表が存在しない場合は、表を作成します。 |
create_indexesまたはci |
いいえ |
ブール値(Y|N) |
Y |
Y: 表のPKおよびFKに索引を作成します。 N: 索引を作成しません。この値に設定すると、INSERTは速くなりますが、データのSELECTは著しく遅くなります。また、RDBの記憶領域を節約できます。 |
truncate_before_loadまたはtbl |
いいえ |
ブール値(Y|N) |
Y |
Y: 接続時にすべてのデータを切り捨てます。 N: 既存のデータを保持します。 |
ids_in_dbまたはiidb |
いいえ |
ブール値(Y|N) |
Y |
Y: 将来接続を追加するために、データベース内の識別子(カウンタ)を保持します。 N: 識別子を保持しません。以後、追加することはできません。 |
drop_tables_on_drop_schemaまたはdtods |
いいえ |
ブール値(Y|N) |
Y |
Y: DROP SCHEMAによって、データベース・スキーマへの参照がドライバから消去され、さらに、すべての表がドロップされます。 N: DROP SCHEMAによって、データベース・スキーマへの参照がドライバから消去されますが、表はデータベース・スキーマ内に保持されます。 |
use_prepared_statementsまたはups |
いいえ |
ブール値(Y|N) |
Y |
Y: データベース接続でプリペアド文を使用して、ドライバ操作(ファイルのロード/アンロード)が実行されます。 N: プリペアド文を使用しません。 通常、プリペアド文を使用した方が処理は速くなります。このオプションを使用するには、データベースおよびドライバで、プリペアド文がサポートされている必要があります。 |
use_batch_updateまたはubu |
いいえ |
ブール値(Y|N) |
Y |
Y: データベース接続でバッチ更新を使用します。 N: バッチ更新を使用しません。 通常、データの挿入はバッチ更新を使用した方が速くなります。次の条件を満たす場合のみ、Yesに設定してください。
注意: ここで指定したバッチ更新オプションは、スキーマ内のデータのロードのみに使用されます。スキーマ内のデータの操作にバッチ更新を使用するには、使用するJavaアプリケーションでバッチ更新オプションを指定する必要があります。 |
batch_update_sizeまたはbus |
いいえ |
整数 |
30 |
バッチ更新のサイズ。use_batch_updateプロパティがYに設定されている場合は、このサイズのバッチ単位でレコードがデータベース・スキーマに書き込まれます。 |
commit_periodicallyまたはcp |
いいえ |
ブール値(Y|N) |
Y |
XMLファイルからデータベース・スキーマへデータをロードする際に、定期的にCOMMITが送信されます。定期的にCOMMITを送信することで、大きいXMLデータ・ファイルをロードする際のデータベース・ログの過負荷を防ぎます。 次の条件を満たす場合のみ、Yesに設定してください。
注意: ここで指定したコミット・オプションは、スキーマ内のデータのロードのみに使用されます。スキーマでトランザクションを実行する際にコミットするには、使用するJavaアプリケーションでコミットを指定する必要があります。 |
num_inserts_before_commitまたはnibc |
いいえ |
整数 |
1000 |
commit_periodicallyプロパティがYに設定されている場合のCOMMITの間隔(レコード数)。 |
reserve_chars_for_columnまたはrcfc |
いいえ |
整数 |
3 |
長いXML名は、JDBCドライバによって戻される列名の最大許容サイズに従って、RDBMSの最大許容サイズにあうように切り捨てられます。 ただし、状況によっては、より少ない文字数を使用して、ドライバで生成される名前を短くする必要があります。減らす文字の数は、reserve_chars_for_column値で定義されます。 たとえば、最大30文字のデータベースでこのプロパティを3(デフォルト)に設定すると、すべての列名が27文字以下になります。 |
reserve_chars_for_tableまたはrcft |
いいえ |
整数 |
3 |
reserve_chars_for_column(rcfc)と同じですが、RDBMSスキーマに作成された表の名前に適用されます。 |
varchar_lengthまたはvl |
いいえ |
整数 |
255 |
文字列データの格納に使用されるリレーショナル構造のすべての列のサイズ。 |
numeric_lengthまたはnl |
いいえ |
整数 |
30 |
数値データの格納に使用されるリレーショナル構造のすべての列のサイズ。 |
unicode |
いいえ |
ブール値(true|false) |
MS SQL Serverの場合: unicode = trueの場合はNVARCHARが使用されます。 unicode = falseまたは未設定の場合は、VARCHARが使用されます。 |
次のサンプルは、Oracle Databaseを外部記憶域として使用した場合のプロパティ・ファイルの例です。
driver=oracle.jdbc.driver.OracleDriver url=jdbc:oracle:thin:@HOST:PORT:SID user=USER_NAME password=ENCODED_PASSWORD schema=USER_NAME drop_on_connect=Y create_tables=AUTO create_indexes=Y truncate_before_load=Y ids_in_db=Y drop_tables_on_drop_schema=Y use_prepared_statements=Y use_batch_update=Y batch_update_size=30 commit_periodically=Y num_inserts_before_commit=1000 reserve_chars_for_column=3 reserve_chars_for_table=3
次のサンプルは、Microsoft SQL Serverデータベースを外部記憶域として使用した場合のプロパティ・ファイルの例です。
driver=com.microsoft.jdbc.sqlserver.SQLServerDriverurl=jdbc:microsoft:sqlserver://SERVER_NAME:PORT;SelectMethod=cursoruser=USER_NAMEpassword=ENCODED_PASSWORDschema=OWNNER_NAMEdrop_on_connect=Ycreate_tables=AUTOcreate_indexes=Ytruncate_before_load=Yids_in_db=Ydrop_tables_on_drop_schema=Yuse_prepared_statements=Yuse_batch_update=Ybatch_update_size=30commit_periodically=Ynum_inserts_before_commit=1000reserve_chars_for_column=3reserve_chars_for_table=3
この項に示す文はXMLドライバ固有のものであり、XMLファイルおよびスキーマの管理を可能にします。これらの文は、XMLドライバへのJDBC接続で、標準のSQL文として起動できます。
スキーマに格納されているデータを操作するには、標準のSQL構文を使用できます。この構文は、組込みエンジンのSQL構文、または使用する外部データベース・エンジンのSQL構文です。
表記規則
このマニュアルでは次の表記規則を使用します。
[ A ]は、Aがオプションであることを意味します。
[ A | B ]は、AまたはBだがパラメータがオプションであることを意味します。
{ B | C }は、BまたはCを使用する必要があることを意味します。
[A] [B]は、順序付けされていない一連の引数を意味します。
( および )は、記号「(」および「)」を意味します。
キーワードは大文字です。
この項では、次のドライバ固有のコマンドについて説明します。
デフォルトのスキーマ・データまたは特定のスキーマから、<file_name>というXMLファイルを生成します。
EMPTYオプションが指定されている場合は、DTDまたはXSDで指定されたXML構造を持つ空のファイルが生成されます。
CREATE [EMPTY] FILE <file_name> [FROM SCHEMA <schema_name>] [JAVA_ENCODING <java_encoding> XML_ENCODING <xml_encoding>] [NO_CLOSING_TAGS] [NO_DEFAULT_NS]
パラメータ
XMLファイルへのデータの書込みに使用するスキーマを指定します。
生成されるファイルのエンコーディング。
ファイルのxmlタグで生成されるエンコーディング。
生成されるタグの例: <?xml version="1.0" encoding="ISO-8859-1"?>
JavaおよびXMLのエンコーディングは、常に一緒に指定する必要があります。
このパラメータを指定すると、終了タグ付きの空のタグが生成されます。デフォルトでは、空の要素が<element></element>
のように生成されます。no_closing_tagsパラメータを使用した場合は、<element/>
のように生成されます。
このパラメータを指定すると、デフォルトの名前空間エントリがないターゲット・ファイルが生成されます。
注意
ファイル名にスペースが含まれる場合は、名前を二重引用符で囲んでください。
エンコーディング値には特殊文字が含まれている可能性があるため、値を二重引用符で囲んでください。
デフォルトのスキーマ・データまたは特定のスキーマから、<file_name>というXMLファイルを生成します。
CREATE XMLFILE <file_name> [FROM SCHEMA <schema_name>] [JAVA_ENCODING <java_encoding> XML_ENCODING <xml_encoding>] [NO_CLOSING_TAGS][NO_DEFAULT_NS]
パラメータ
XMLファイルへのデータの書込みに使用するスキーマを指定します。
生成されるファイルのエンコーディング。
ファイルのxmlタグで生成されるエンコーディング。生成されるタグの例: <?xml version="1.0" encoding="ISO-8859-1"?>
JavaおよびXMLのエンコーディングは、常に一緒に指定する必要があります。
このパラメータを指定すると、終了タグ付きの空のタグが生成されます。デフォルトでは、空の要素が<element></element>
のように生成されます。no_closing_tagsパラメータを使用した場合は、<element/>
のように生成されます。
このパラメータを指定すると、デフォルトの名前空間エントリがないターゲット・ファイルが生成されます。
注意
ファイル名にスペースが含まれる場合は、名前を二重引用符で囲んでください。
エンコーディング値には特殊文字が含まれている可能性があるため、値を二重引用符で囲んでください。
データベースのリレーショナル・スキーマの表を結合するすべての外部キーを物理的に作成します。このコマンドは、スキーマで整合性制約を強制するのに役立ちます。
注意: 要求した場合は常に、ドライバによってリレーショナル構造マッピングに対応する仮想外部キーが戻されます。データベース・レベルで強制される実際の外部キーは戻されません。 |
CREATE FOREIGNKEYS
注意
CREATE FOREIGNKEYSを使用すると、それ以後LOAD FILEを実行できなくなります。
<schema_name>
に、空のスキーマ、または<dtd/xsd_name>
として指定された記述ファイルの構造をマップする表のスキーマを作成します。
CREATE SCHEMA <schema_name> [WITH DTD <dtd/xsd_name>] [REPLACE] [ROOTELT <root element>] [READONLY] [JAVA_ENCODING <java_encoding> XML_ENCODING <xml_encoding>]
パラメータ
スキーマでの構造の作成に使用する記述ファイル(DTDまたはXSD)を指定します。
既存のスキーマ構造を新しいものに置き換える必要があるかどうかを指定します。
XMLファイルのルートとみなされる記述ファイルの要素。この要素名では大/小文字が区別されます。
ロードされるスキーマに対してデータの挿入、削除または更新を実行できません。
スキーマから生成されるターゲットXMLファイルのエンコーディング。
注意: JavaおよびXMLのエンコーディングは、常に一緒に指定する必要があります。
ターゲット・ファイルのXMLタグで生成されるエンコーディング。生成されるタグの例: <?xml version="1.0" encoding="ISO-8859-1"?>
注意
XMLファイルのデータはロードされません。このコマンドはLOAD FILEと似ていますが、XMLファイルのデータはロードされません。
XMLファイルが関連付けられていないため、スキーマは読取り専用モードで作成されます。
接続スキーマは、新規作成されたスキーマに自動的に切り替わりません。
ファイル名にスペースが含まれる場合は、名前識別子を二重引用符で囲んでください。
エンコーディング値には特殊文字が含まれている可能性があるため、値を二重引用符で囲んでください。
データベースのリレーショナル・スキーマの表にあるすべての外部キーをドロップします。このコマンドは、スキーマのすべての整合性制約をドロップするのに役立ちます。
DROP FOREIGNKEYS
既存のスキーマをドロップします。<schema_name>
が指定されていない場合は、現在のスキーマがドロップされます。スキーマに保留中の接続がある場合、そのスキーマをドロップすることはできません。既存の接続があるスキーマをドロップしようとすると、例外が発生します。
DROP SCHEMA [<schema_name>]
現在のリレーショナル・スキーマに<file_name>
XMLファイルをロードします。
LOAD FILE <file_name> [WITH DTD <dtd/xsd_name> | INSERT_ONLY] [ON SCHEMA <schema_name>] [REPLACE] [READONLY] [ROOTELT <root element>] [AUTO_UNLOCK] [DB_PROPS <external database properties>]
パラメータ
スキーマの構造の作成に使用する記述ファイル(DTDまたはXSD)を指定します。
スキーマがすでに存在する場合は、スキーマにXMLファイルのデータを追加します。新規のXMLファイルには、既存のスキーマに関する有効な記述ファイルが必要です。
<schema_name>に強制的にファイルをロードします。現在のスキーマは、コマンドの実行後に自動的に<schema_name>に設定されないため、注意してください。
同じ名前の既存のスキーマ構造を、ロード中のスキーマ構造に置き換える必要があるかどうかを指定します。
ロードされるスキーマに対してデータの挿入、削除または更新を実行できません。
XMLファイルのルートとみなされる記述ファイルの要素。この要素名では大/小文字が区別されます。
AUTO_UNLOCKを指定しない場合、XMLファイルがすでに別のドライバ・インスタンスによってロックされていると、例外が発生します。このパラメータを使用すると、ファイルがロックされている場合にロックが自動的に解除されます。
<external database properties>.propertiesというプロパティ・ファイルで識別される外部データベースのファイルをロードします。
注意
ファイル名にスペースが含まれる場合は、名前を二重引用符で囲んでください。
スキーマが指定されていない場合、スキーマ名はファイル名に基づいて自動的に生成されます。
接続スキーマは、ロードされたスキーマに自動的に切り替わりません。
XMLファイルがすでに別のスキーマで開いている場合は、例外が発生します。
現在のスキーマを<schema_name>に設定します。
SET SCHEMA <schema_name>
注意
<schema_name>が指定されていない場合、スキーマはデフォルト・スキーマに設定されます。
スキーマ内のデータをファイルのデータと同期化します。
SYNCHRONIZE [ALL | SCHEMA <schema_name>] [FROM FILE/FROM DATABASE] [IGNORE CONFLICTS]
パラメータ
すべてのスキーマを同期化します。
<schema_name>のみを同期化します。
ファイルからスキーマへ、強制的にデータをロードします。スキーマでの変更はすべて消去されます。
スキーマからファイルへ、強制的にデータをロードします。ファイルでの変更はすべて消去されます。
FROM FILE/DATABASEが指定されていない場合、ドライバは、データが変更された場所(FILEまたはDATABASE)を自動的に判別して、未変更のデータを更新します。FILEとDATABASEの両方が変更されている場合は、ドライバで競合エラーが発生します。IGNORE CONFLICTSパラメータを使用すると、エラーは発生せず、SYNCHRONIZE ALLを実行している場合はそれ以降のスキーマが同期化されます。
注意: スキーマが更新済としてマークされるのは、データ変更(更新、削除、挿入、ドロップ)がそのスキーマへの接続で実行された場合のみです。変更指示が別のスキーマへの接続から出された場合は、更新済としてマークされません。 |
別のドライバ・インスタンスによって<file_name>がロックされている場合に、このファイルをロック解除します。
UNLOCK FILE <file_name>
現在のスキーマまたはschema_name>からすべてのデータを消去します。
TRUNCATE SCHEMA [<schema_name>]
XMLファイルで参照されるXMLスキーマ(XSD)と照合して、XMLファイル<file_name>の内容を検証します。ファイルが有効でない場合は、コマンドによって例外が戻されます。
VALIDATE [FILE <file_name>] [ERROR_ON_WARNING|IGNORE_ON_WARNING] [ERROR_ON_ERROR|IGNORE_ON_ERROR] [ERROR_ON_FATAL_ERROR|IGNORE_ON_FATAL_ERROR] [VERBOSE]
パラメータ
検証するXMLファイルの名前。
XSD検証警告(範囲外の値など)を無視するか、エラーを生成します。デフォルト値はIGNORE_ON_WARNINGです。
XSD検証エラー(適合しない属性または要素など)を無視するか、エラーを生成します。デフォルト値はERROR_ON_ERRORです。
XSD検証の致命的エラー(不正なXMLなど)を無視するか、エラーを生成します。デフォルト値はERROR_ON_FATAL_ERRORです。
エラーの詳細およびエラーが発生した行の番号をJavaコンソールに表示します。デフォルトでは、コンソールには何も表示されません。
この項に示す文は、組込みエンジンを使用してXMLスキーマを格納する場合に使用できます。これらの文を使用すると、標準のSQL文を介してスキーマのデータおよびデータ構造を管理できます。
この項の内容は次のとおりです。
注意: 外部データベースを使用している場合は、この構文のかわりにデータベース・エンジンの問合せ構文を使用できます。 |
任意の数のコマンドを組み合せることができます。セミコロン(;)を使用して各コマンドを区切っても構いません。
この項では、次のコマンドについて説明します。
スキーマのトランザクションを終了し、変更を永続化します。
COMMIT [WORK]
リレーショナル・スキーマに表およびその制約を作成します。
CREATE TABLE <table_name> ( <columnDefinition> [, ...] [, <constraintDefinition>...])
<columnDefinition> ::=
<column_name> <datatype> [(anything)] [[NOT] NULL] [IDENTITY] [PRIMARY KEY]
<constraintDefinition> ::=
[ CONSTRAINT <constraint_name> ]
UNIQUE ( <column_name> [,<column>...] ) |
PRIMARY KEY ( <column_name> [,<column_name>...] ) |
FOREIGN KEY ( <column_name> [,<column_name>...] )
REFERENCES <referenced_table> ( <column_name> [,<column_name>...] )
注意
IDENTITY列は、自動的に増加する整数の列です。接続に対してIDENTITY列に最後に挿入された値は、IDENTITY()ファンクションを使用して取得できます。
有効なデータ型は、BIT、TINYINT、BIGINT、LONGVARBINARY、VARBINARY、BINARY、LONGVARCHAR、CHAR、NUMERIC、DECIMAL、INTEGER、SMALLINT、FLOAT、REAL、DOUBLE、VARCHAR、DATE、TIME、TIMESTAMP、OBJECTです。
リレーショナル・スキーマの表の行を削除します。このファンクションでは標準のSQL構文が使用されます。
DELETE FROM <table_name> [ WHERE <expression> ]
この接続を閉じます。
DISCONNECT
注意
JDBCインタフェースを使用している場合は、このコマンドをコールする必要はありません。接続が閉じる際に自動的にコールされます。
切断後は、この接続で他の問合せを実行することはできません。
リレーショナル・スキーマから表、データおよび索引を削除します。
DROP TABLE <table_name>
1つ以上の新しいデータ行を表に挿入します。
INSERT INTO <table_name> [ ( <column_name> [,...] ) ]
{ VALUES (<expression> [,...]) | <SELECT Statement> }
最後のCOMMITまたはROLLBACK以降に行われた変更を元に戻します。
ROLLBACK
スキーマ内の1つ以上の表から情報を取得します。
SELECT [DISTINCT] { <select_expression> | <table_name>.* | * } [, ... ] [ INTO <new_table> ] FROM <table_list> [ WHERE <expression> ] [ GROUP BY <expression> [, ...] ] [ ORDER BY <order_expression> [, ...] ] [ { UNION [ALL] | {MINUS|EXCEPT} | INTERSECT } <select_statement> ]
<table_list> ::=
<table_name> [ { INNER | LEFT [OUTER] } JOIN <table_name>
ON <expression> ] [, ...]
<select_expression> ::=
{ <expression> | COUNT(*) | {COUNT | MIN | MAX | SUM | AVG}
(<expression>) <column_alias>}
<order_expression> ::=
{ <column_number> | <column_alias> | <select_expression> } [ ASC | DESC ]
接続の自動コミット・モードをオンまたはオフに切り替えます。オンにすると、すべての文が個別のトランザクションとしてコミットされます。オフにすると、文はCOMMITまたはROLLBACKのどちらかで終了するトランザクションにグループ化されます。新しい接続は、デフォルトで自動コミット・モードになります。
SET AUTOCOMMIT { TRUE | FALSE }
データベース内の表のデータを変更します。
UPDATE table SET column = <expression> [, ...] [WHERE <expression>]
<expression> ::=
[NOT] <condition> [ { OR | AND } <condition> ]
<condition> ::=
{ <value> [ || <value> ]
| <value> { = | < | <= | > | >= | <> | != | IS [NOT] } <value>
| EXISTS(<select_statement>)
| <value> BETWEEN <value> AND <value>
| <value> [NOT] IN ( {<value> [, ...] | selectStatement } )
| <value> [NOT] LIKE <value> [ESCAPE] value }
<value> ::=
[ + | - ] { term [ { + | - | * | / } term ]
| ( condition )
| function ( [parameter] [,...] )
| selectStatement_giving_one_value
<term> ::=
{ 'string' | number | floatingpoint | [table.]column | TRUE | FALSE | NULL }
<string> ::=
開始および終了には、単一の「'」を使用します。「'」で開始した文字列内に「'」を作成するには、「''」を使用します。
LIKEでは、任意の数(0を含む)の文字と一致させる場合は%を使用し、1つの文字と完全に一致させる場合は_を使用します。%自体の検索には\%、_自体の検索には\_を使用するか、ESCAPE句を使用してその他の任意のエスケープ文字を設定できます。
<name> ::=
名前の先頭は文字で、後に任意の数の文字または数字が続きます。文字列および引用符で囲まれた識別子以外の小文字は、大文字に変換されます。名前では大/小文字は区別されません。
識別子(表または列など)を引用符で囲んで、名前として使用できます。引用符で囲まれた識別子は、「"」で始まり「"」で終わります。引用符で囲まれた識別子の中に「"」を作成するには、「""」を使用します。引用符で囲まれた識別子を使用することで、大/小文字が混在する表および表名を作成できます。例: CREATE TABLE "Address" ("Nr" INTEGER, "Name" VARCHAR); SELECT * FROM "Address"。引用符で囲まれた識別子は文字列ではありません。
<values> ::=
日付値は「'」で始まり「'」で終わります。書式はyyyy-mm-ddです(java.sql.Dateを参照)。
時間値は「'」で始まり「'」で終わります。書式はhh:mm:ssです(java.sql.Timeを参照)。
バイナリ・データは「'」で始まり「'」で終わります。書式は16進値です。たとえば'0004ff'は、最初が0、2番目が4、最後が255(0xff)の3バイトです。
表B-4に数値ファンクションをリストします。
表B-4 数値ファンクション
ファンクション | 説明 |
---|---|
ABS(d) |
double値の絶対値を戻します。 |
ACOS(d) |
角度のアーク・コサインを戻します。 |
ASIN(d) |
角度のアーク・サインを戻します。 |
ATAN(d) |
角度のアーク・タンジェントを戻します。 |
ATAN2(a,b) |
a/bのタンジェントを戻します。 |
CEILING(d) |
d以上の最小整数を戻します。 |
COS(d) |
角度のコサインを戻します。 |
COT(d) |
角度のコタンジェントを戻します。 |
DEGREES(d) |
ラジアンを角度に変換します。 |
EXP(d) |
e(2.718...)のd乗を戻します。 |
FLOOR(d) |
d以下の最大整数を戻します。 |
LOG(d) |
eを底とする自然対数を戻します。 |
LOG10(d) |
10を底とする対数を戻します。 |
MOD(a,b) |
aをbで割った剰余を戻します。 |
PI() |
円周率(3.1415...)を戻します。 |
POWER(a,b) |
aのb乗を戻します。 |
RADIANS(d) |
角度をラジアンに変換します。 |
RAND() |
0.0以上1.0未満の乱数xを戻します。 |
ROUND(a,b) |
aを小数点以下b桁に丸めます。 |
SIGN(d) |
dが0未満の場合は-1、dが0の場合は0、dが0より大きい場合は1を戻します。 |
SIN(d) |
角度のサインを戻します。 |
SQRT(d) |
平方根を戻します。 |
TAN(d) |
角度の三角関数タンジェントを戻します。 |
TRUNCATE(a,b) |
aを小数点以下b桁に切り捨てます。 |
BITAND(a,b) |
a & bを戻します。 |
BITOR(a,b) |
a | bを戻します。 |
表B-5に文字列ファンクションをリストします。
表B-5 文字列ファンクション
ファンクション | 説明 |
---|---|
ASCII(s) |
sの左端の文字のASCIIコードを戻します。 |
CHAR(c) |
ASCIIコードがcの文字を戻します。 |
CONCAT(str1,str2) |
str1とstr2を連結して戻します。 |
DIFFERENCE(s1,s2) |
s1とs2の発音の差を戻します。 |
INSERT(s,start,len,s2) |
startからlen文字分をs2に置き換えて、文字列を戻します。 |
LCASE(s) |
sを小文字に変換します。 |
LEFT(s,count) |
sの左端からcount文字分を戻します。 |
LENGTH(s) |
sの文字数を戻します。 |
LOCATE(search,s,[start]) |
startから開始して、s内でsearchが検出された最初の索引(1=左、0=見つからない)を戻します。 |
LTRIM(s) |
sの先頭の空白をすべて削除します。 |
REPEAT(s,count) |
sをcount回分繰り返して戻します。 |
REPLACE(s,replace,s2) |
sに出現するすべてのreplaceをs2に置き換えます。 |
RIGHT(s,count) |
sの右端からcount文字分を戻します。 |
RTRIM(s) |
末尾の空白をすべて削除します。 |
SOUNDEX(s) |
sの発音を表す4文字のコードを戻します。 |
SPACE(count) |
count個分のスペースで構成される文字列を戻します。 |
SUBSTRING(s,start[,len]) |
start(1=左)からlen文字分のサブストリングを戻します。 |
UCASE(s) |
sを大文字に変換します。 |
LOWER(s) |
sを小文字に変換します。 |
UPPER(s) |
sを大文字に変換します。 |
表B-6に日時ファンクションをリストします。
日付値の開始と終了には一重引用符(')を使用します。書式はyyyy-mm-dd
です(java.sql.Dateを参照)。時間値の開始と終了には一重引用符(')を使用します。書式はhh:mm:ss
です(java.sql.Timeを参照)。
表B-6 日時ファンクション
ファンクション | 説明 |
---|---|
CURDATE() |
現在の日付を戻します。 |
CURTIME() |
現在の時間を戻します。 |
DAYNAME(date) |
曜日の名前を戻します。 |
DAYOFMONTH(date) |
月の日付(1〜31)を戻します。 |
DAYOFWEEK(date) |
週の曜日(1は日曜日)を戻します。 |
DAYOFYEAR(date) |
その年の何日目か(1〜366)を戻します。 |
HOUR(time) |
時間(0〜23)を戻します。 |
MINUTE(time) |
分(0〜59)を戻します。 |
MONTH(date) |
月(1〜12)を戻します。 |
MONTHNAME(date) |
月の名前を戻します。 |
NOW() |
現在の日時をタイムスタンプとして戻します。 |
QUARTER(date) |
四半期(1〜4)を戻します。 |
SECOND(time) |
秒(0〜59)を戻します。 |
WEEK(date) |
その年の何週目か(1〜53)を戻します。 |
YEAR(date) |
年を戻します。 |
表B-7にシステム・ファンクションをリストします。
表B-8に、Oracle Data Integrator Driver for XMLに実装されているJDBC API機能をリストします。
表B-8 JDBC APIの機能
機能グループ | JDBCのバージョン | サポート |
---|---|---|
バッチ更新 |
2.0 Core |
はい |
Blob/Clob |
2.0 Core |
はい |
JNDIデータソース |
2.0 Optional |
はい |
フェイルオーバー・サポート |
- |
はい |
トランザクション・セーブポイント |
3.0 |
はい |
Unicodeサポート |
- |
いいえ |
分散トランザクション |
2.0 Optional |
いいえ |
接続プーリング |
2.0 Optional |
いいえ |
クラスタ・サポート |
- |
いいえ |
表B-9にJDBC Javaクラスをリストします。
表B-9 JDBC Javaクラス
JDBCクラス | JDBCのバージョン | サポート |
---|---|---|
Array |
2.0 Core |
いいえ |
Blob |
2.0 Core |
はい |
CallableStatement |
1.0 |
はい |
Clob |
2.0 Core |
はい |
Connection |
1.0 |
はい |
ConnectionPoolDataSource |
2.0 Optional |
いいえ |
DatabaseMetaData |
1.0 |
はい |
DataSource |
2.0 Optional |
いいえ |
Driver |
1.0 |
はい |
Ref |
2.0 Core |
いいえ |
ResultSet |
1.0 |
はい |
ResultSetMetaData |
1.0 |
はい |
RowSet |
2.0 Optional |
いいえ |
Statement |
1.0 |
はい |
Struct |
2.0 Core |
いいえ |
PreparedStatement |
1.0 |
はい |
XAConnection |
2.0 Optional |
いいえ |
XADataSource |
2.0 Optional |
いいえ |
ドライバでは、XMLスキーマ(XSD)仕様の一部がサポートされています。この項では、サポートされている要素をリストします。
XMLスキーマ仕様の詳細は、W3Cの仕様(http://www.w3.org/TR/xmlschema-1/
)を参照してください。
この項の内容は次のとおりです。
サポートされているデータ型は次のとおりです。
文字列列に変換されるデータ型: string、normalizedString、token、nmtoken、nmtokens、anyUri、id、idref、date、datetime、time、hexBinary
整数列に変換されるデータ型: int、positiveInteger、negativeInteger、nonNegativeInteger、onPositiveInteger、long、unsignedLong、unsignedInt、short、unsignedShort、byte、unsignedByte、boolean(ブール値は0または1の数値列に変換されますが、入力ファイルからtrueまたはfalseの値を取得できます。)
小数列に変換されるデータ型(小数点以下2桁): decimal、float、double
この項では、スキーマのすべての要素をリストします。サポートされている構文要素は、太字で表記されています。サポートされていない構文要素は、通常のフォントで表記されています。これらは、ドライバによって無視されます。
この項では、次のスキーマ要素について説明します。
この要素は、子要素を順序付けせずに、それぞれ0回または1回出現させることができることを示します。
子要素の必須プロパティ(minOccurs=1)は、ドライバでは管理されないため注意してください。データのチェック、およびXSDとの照合によるXMLコンテンツの検証を実行することで、これを管理する必要があります。
<all id=ID maxOccurs=1 minOccurs=0|1 any attributes > (annotation?,element*) </all>
この要素は属性を定義します。
<attribute default=string id=ID name=NCName type=QName use=optional|prohibited|required ref=QName fixed=string form=qualified|unqualified any attributes > (annotation?,(simpleType?)) </attribute>
この要素のuse
属性は、属性に対してドライバによってマップされる列が必須かどうかを定義します。
この要素は、一連の属性を定義します。
<attributeGroup id=ID name=NCName ref=QName any attributes > (annotation?),((attribute|attributeGroup)*,anyAttribute?)) </attributeGroup>
この要素では、中に含まれている要素のうち1つのみが出現可能になります。
<choice id=ID maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger any attributes > (annotation?,(element|group|choice|sequence|any)*) </choice>
子要素の一意性は、ドライバでは管理されません。データのチェック、およびXSDとの照合によるXMLコンテンツの検証を実行することで、これを管理する必要があります。
この要素は、複合型での拡張または制限を定義します。
<complexContent id=ID mixed=true|false any attributes > (annotation?,(restriction|extension)) </complexContent>
この要素は、複合型を定義します。
<complexType name=NCName id=ID abstract=true|false mixed=true|false block=(#all|list of (extension|restriction)) final=(#all|list of (extension|restriction)) any attributes > (annotation?,(simpleContent|complexContent|((group|all|choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?)))) </complexType>
この要素は、XMLファイルの要素を定義します。
<element name=NCName maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger type=QName id=ID ref=QName substitutionGroup=QName default=string fixed=string form=qualified|unqualified nillable=true|false abstract=true|false block=(#all|list of (extension|restriction)) final=(#all|list of (extension|restriction)) any attributes > annotation?,((simpleType|complexType)?,(unique|key|keyref)*)) </element>
注意: この要素のmaxOccursおよびminOccurs属性は、XMLからSQLへのマッピングに使用されます。子要素が単純型で単一値(1回のみ出現)の場合、この要素は、親要素に対応する表の単純列にマップされます。それ以外の場合は、親要素の表にリンクされる表が作成されます。要素内にminOccursまたはmaxOccursへの参照が記述されていない場合、その要素は単一値とみなされ、列に変換されます。この動作は、 |
注意: 名前が同じで型が異なる複数のサブ要素の使用は、XMLドライバではサポートされていません。そのような構造を持つXSDは、正しく処理されません。 |
この要素は、既存のsimpleTypeまたはcomplexType要素を拡張します。
<extension id=ID base=QName any attributes > (annotation?,((group|all|choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?))) </extension>
この要素は、複合型の定義で使用される要素のグループを定義します。
<group id=ID name=NCName ref=QName maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger any attributes > (annotation?,(all|choice|sequence)?) </group>
この要素は、ターゲット名前空間が異なる複数のスキーマをドキュメントに追加します。
<import id=ID namespace=anyURI schemaLocation=anyURI any attributes > (annotation?) </import>
この要素は、ターゲット名前空間が同じ複数のスキーマをドキュメントに追加します。
<include id=ID schemaLocation=anyURI any attributes > (annotation?) </include>
この要素は、単純型要素を、指定されたデータ型の値のリストとして定義します。
<list id=ID itemType=QName any attributes > (annotation?,(simpleType?)) </list>
この要素は、simpleType、simpleContentまたはcomplexContentでの制限を定義します。
<restriction id=ID base=QName any attributes > Content for simpleType: (annotation?,(simpleType?,(minExclusive|minInclusive|maxExclusive|maxInclusive| totalDigits|fractionDigits|length|minLength|maxLength|enumeration|whiteSpace| pattern)*)) Content for simpleContent: (annotation?,(simpleType?,(minExclusive|minInclusive|maxExclusive|maxInclusive| totalDigits|fractionDigits|length|minLength|maxLength|enumeration|whiteSpace| pattern)*)?, ((attribute|attributeGroup)*,anyAttribute?)) Content for complexContent: (annotation?,(group|all|choice|sequence)?, ((attribute|attributeGroup)*,anyAttribute?)) </restriction>
この要素は、スキーマのルート要素を定義します。
<schema id=ID attributeFormDefault=qualified|unqualified elementFormDefault=qualified|unqualified blockDefault=(#all|list of (extension|restriction|substitution)) finalDefault=(#all|list of (extension|restriction|list|union)) targetNamespace=anyURI version=token xmlns=anyURI any attributes > ((include|import|redefine|annotation)*,(((simpleType|complexType|group| attributeGroup)|element|attribute|notation),annotation*)*) </schema>
この要素は、子要素を順序に従って表示する必要があることを指定します。各子要素は0回以上出現可能です。
<sequence id=ID maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger any attributes > (annotation?,(element|group|choice|sequence|any)*) </sequence>
次の点に注意してください。
順序は、ドライバでは管理されません。ドライバによって生成されるxxx_ORDER列をロードして、順序を管理する必要があります。
maxOccursおよびminOccurs属性はドライバでは管理されません。データのチェック、およびXSDとの照合によるXMLコンテンツの検証を実行することで、これを管理する必要があります。
この要素には、テキストのみの複合型または単純型に関する拡張または制限がコンテンツとして含まれます。
<simpleContent id=ID any attributes > (annotation?,(restriction|extension)) </simpleContent>
この要素は、単純型要素を定義します。
<simpleType name=NCName id=ID any attributes > (annotation?,(restriction|list|union)) </simpleType>
XMLドライバでは、次の要素および機能はサポートおよび実装されていません。
次のスキーマ要素は、XMLドライバではサポートされていません。
Annotation: annotationは、コメントおよびインライン・ドキュメントを定義するための要素です。この要素およびそのすべての子要素(appInfo、documentation)は、無視されます。
Any/anyAttribute: anyおよびanyAttribute要素は、スキーマで指定されていないものも含めて、任意の要素または属性を使用してXMLドキュメントを拡張できるようにします。これらの要素はサポートされていません。
Key/keyRef/Unique: これらの要素を使用すると、スキーマで制約を定義できます。これらの要素およびその子要素(selector、field)は、無視されます。
Union: union要素は、指定された単純データ型の値のリストを定義します。この要素はサポートされていません。
Redefine: redefine要素は、単純型、複合型、グループおよび属性グループを外部スキーマから再定義します。この要素はサポートされていません。
警告: XSDに含まれるAny句またはAnyAttribute句によって許可されるXMLファイル内の要素および属性は、ファイルをロードする際にエラーを引き起こす可能性があります。 |