4.3 ドライバパラメータ

次の表は、すべてのドライバレベルのパラメータとそのプロパティの概要を示します。

Table 4-4 ドライバパラメータおよびプロパティ

表示名

タグ名

サンプル値

デフォルト値

必須?

サードパーティ製のJDBCドライバのクラス名

jdbc-class

oracle.jdbc.driver.OracleDriver

(なし)

時間構文

time-syntax

1 (整数)

1 (整数)

×

同期フィルタ

sync-filter

schema (スキーマメンバシップで包含)

(なし)

×

スキーマ名

sync-schema

indirect

(none)

1

フィルタ式を含む

include-table-filter

IDM_.*

(なし)

×

フィルタ式を除く

exclude-table-filter

BIN\$.{22}==\$0

(なし)

×

テーブル/ビュー名

sync-tables

usr

(なし)

1

接続初期化ステートメント

connection-init

USE idm

(なし)

×

最小数の接続を使用しますか?

use-single-connection

0 (いいえ)

(動的3)

×

接続プロパティ

use-single-connection

USER={$username}; PASSWORD={$password}

(動的3)

×

状態ディレクトリ

state-dir

. (現在のディレクトリ)

. (現在のディレクトリ)

×

JDBCドライバ記述子ファイル名

jdbc-driver-descriptor

ora_client_thin.xml

(なし)

×

データベース記述子ファイル名

database-descriptor

ora_10g.xml

(なし)

×

手動トランザクションを使用しますか?

use-manual-transactions

1 (はい)

(動的2)

×

トランザクション分離レベル

transaction-isolation-level

read committed

(動的3)

×

ステートメントを再使用しますか?

reuse-statements

1 (再使用)

(動的3)

×

返された結果セットの数

handle-stmt-results

one

(動的3)

×

ステートメントレベルのロックを有効にしますか?

enable-locking

1 (はい)

0 (いいえ)

×

ステートメントジェネレータクラスのロック

lock-generator-class

com.novell.nds.dirxml.driver.jdbc.db.lock.OraLockGenerator

(動的3)

×

Enable Referential Attribute Support? (参照属性のサポートを有効にしますか?)

enable-refs

1 (はい)

1 (はい)

×

Enable Meta-Identifier Support? (メタ識別子のサポートを有効にしますか?)

enable-meta-identifiers

1 (はい)

1 (はい)

×

ユーザ名を大文字に固定

force-username-case

upper (大文字に強制)

(なし)

×

Left Outer Join Operator (左外部結合演算子)

left-outer-join-operator

(+)

(動的3)

×

Retrieve Minimal Metadata (最小限のメタデータを取得しますか?)

minimal-metadata

0 (いいえ)

(動的3)

×

関数のリターン方法

function-return-method

result set

(動的3)

×

メタデータの取得でスキーマをサポートしますか?

supports-schemas-in-metadata-retrieval

1 (はい)

(動的3)

×

列名を並べ替える基準

column-position-comparator

com.novell.nds.dirxml.driver.jdbc.util.config.comp.StringByteComparator (16進値)

(動的3)

×

1 これらの相互排他的なパラメータは、「同期フィルタ」パラメータが存在しない場合に指定する必要があります。同期フィルタを参照してください。2 このデフォルトは、ランタイム時に記述子ファイルおよびデータベースメタデータから動的に派生します。3 このデフォルトは、ランタイム時に記述子ファイルから動的に派生します。

ドライバパラメータは、次のサブカテゴリに分けられます。

4.3.1 カテゴリなしパラメータ

サードパーティ製のJDBCドライバのクラス名

このパラメータは、使用しているサードパーティ製のJDBCドライバの完全修飾Javaクラス名です。

次の表は、このパラメータのプロパティのリストです。

Table 4-5 サードパーティ製のJDBCドライバのクラス名: プロパティ

プロパティ

タグ名

jdbc-class

必須?

大文字と小文字を区別?

サンプル値

oracle.jdbc.driver.OracleDriver

デフォルト値

(なし)

サポートされているサードパーティ製のJDBCドライバクラス名のリストについては、JDBCドライバクラス名を参照してください。

時間構文

「時間構文」パラメータは、ドライバが返す時間に関連するデータタイプの形式を指定します。形式には、以下のオプションのいずれかを指定できます。

形式: 符号付き整数。 データベースの時間、日付、およびタイムスタンプの値を32ビットの符号付き整数として返し、それを時間またはタイムスタンプタイプのeDirectory™属性にマップします。

eDirectoryの時間およびタイムスタンプの構文は、1970年1月1日午前12時00分(UTC)から経過した秒数(整数のみ)を表す符号なしの32ビット整数で構成されます。このデータタイプの最大範囲は、約136年です。(最初に意図されていたように)符号なしの整数として解釈される場合、これらの構文は、1970~2106年の範囲の日付および時刻を秒で表現できます。一方、符号付きの整数として解釈される場合は、1901~2038年の範囲の日付および時刻を秒で表現できます。

このオプションはデフォルトです。これには2つの問題があります。

  • アイデンティティボールトの時間およびタイムスタンプの構文では、データベースの日付またはタイムスタンプの構文で表現される日付の範囲を表現できません。
  • アイデンティティボールトの時間およびタイムスタンプの構文では、秒の精度まで使用されます。データベースのタイムスタンプ構文では、ナノ秒の精度まで使用されることがあります。

これらの2つの制限は、以下の2番目および3番目のオプションで対処できます。

形式: 標準文字列。 データベースの時間、日付、およびタイムスタンプの値を標準文字列として返し、それを数値文字列タイプの属性にマップします。

次の表は、抽象データベースデータタイプおよびそれに対応する標準文字列表現を示します。

Table 4-6 データベースタイプおよび標準文字列表現

JDBCデータタイプ

標準文字列形式1

java.sql.Time

HHMMSS

java.sql.Date

CCYYMMDD

java.sql.Timestamp

CCYYMMDDHHMMSSNNNNNNNNN

1 C =世紀、Y =年、M =月、D =日、H =時、M=分、S =秒、N =ナノ秒

これらの固定長形式は、すべてのロケールのすべてのプラットフォームで年代順に照合されます。ナノ秒の精度はデータベースごとに異なりますが、タイムスタンプの長さは一定です。

形式: Java文字列表現。 toString():java.lang.Stringメソッドによって返されたとおりのJava文字列表現でデータベースの時間、日付、タイムスタンプの値を返し、それをCase Ignore/Case Exact Stringタイプの属性にマップします。

次の表は、抽象データベースデータタイプおよびそれに対応するJava文字列表現を示します。

Table 4-7 データベースタイプおよびJava文字列形式

JDBCデータタイプ

Java文字列形式1

java.sql.Time

hh:mm:ss

java.sql.Date

yyyy-mm-dd

java.sql.Timestamp

yyyy-mm-dd hh:mm:ss.fffffffff

1 y=年、m=月、d=日、h=時、m=分、s=秒、f=ナノ秒

これらの固定長形式は、すべてのロケールのすべてのプラットフォームで年代順に照合されます。ナノ秒の精度はデータベースごとに異なります。それに伴い、タイムスタンプの長さも異なります。

次の表は、「時間構文」パラメータのプロパティのリストです。

Table 4-8 時間構文: プロパティ

プロパティ

タグ名

time-syntax

必須?

×

デフォルト値

1 (整数)

有効な値

1 (整数) 2 (標準文字列) 3 (Java文字列)

スキーマ依存

True

状態ディレクトリ

「状態ディレクトリ」パラメータでは、ドライバインスタンスが状態データを保存する場所を指定します。状態データは、現在トリガなし発行で使用されています。トリガなし発行パラメータを参照してください。状態データは、将来、追加される状態情報を保存するために使用できます。

各ドライバインスタンスには、2つの状態ファイルがあります。状態ファイル名は、jdbc_driver-instance-guid.dbおよびjdbc_driver-instance-guid.lgの形式にします。たとえば、jdbc_bd2a3dd5-d571-4171-a195-28869577b87e.dbやjdbc_bd2a3dd5-d571-4171-a195-28869577b87e.lgは状態ファイル名です。ドライバインスタンスの状態ファイルを手動で識別して削除する必要がある場合、各ドライバインスタンスのGUIDが起動時にトレースされます。現在の状態ディレクトリにある機能不良の状態ファイル(削除されたドライバに属するファイル)は、同じ状態ディレクトリを含むドライバインスタンスが起動されるたびに削除されます。

次の表は、このパラメータのプロパティのリストです。

Table 4-9 状態ディレクトリ: プロパティ

プロパティ

タグ名

state-dir

必須?

×

大文字と小文字を区別?

プラットフォーム依存

サンプル値

c:\novell\nds\DIBFiles

デフォルト値

. (現在のディレクトリ)

4.3.2 データベーススコープパラメータ

同期フィルタ

「同期フィルタ」パラメータは、同期スキーマ(ランタイム時にドライバに表示できるテーブル/ビューのセット)のメンバーにするテーブルまたはビューなどのデータベースオブジェクトを指定します。このパラメータに加えて、ドライバは、schema-awareまたはschema-unawareの2つのモードで実行できるようになりました。

schema-unawareモード。 「同期フィルタ」パラメータが存在し、empty (すべてのテーブル/ビューを除く)に設定されている場合、ドライバはschema-unawareです。これは、起動時にテーブル/ビューメタデータを取得しません。したがって、メタデータメソッドは必要ありません。Section D.0, java.sql.DatabaseMetaDataのメソッドを参照してください。

schema-unawareの場合、同期スキーマを空にできます。「スキーマ名」および「Sync Tables/Views (同期テーブル/ビュー)」パラメータは、完全に無視されます。どちらも必要ありません。いずれも、パラメータを設定してもしなくても、また値なしでもありでもかまいません。スキーマ名およびテーブル/ビュー名を参照してください。

schema-unawareモードでは、ドライバは、埋め込みSQLのパススルーエージェントとして動作します。この状態では、標準XDSイベント(たとえば、追加、変更、削除など)は無視されます。XDSイベントへのSQLステートメントの埋め込みを参照してください。さらに、トリガ付きまたはトリガなし発行も機能しません。

schema-awareモード 「同期フィルタ」パラメータが存在しないか、empty(すべてのテーブル/ビューを除外する)以外の値に設定されている場合、ドライバはschema-awareです。テーブル/ビュー数を限定してテーブル/ビューのメタデータを取得すると、データ同期が容易になります。単一のデータベースユーザ(スキーマメンバーシップで包含)が所有するすべてのテーブル/ビューのメタデータをキャッシュできます。または、テーブル/ビュー名の明示的なリスト(テーブル/ビュー名で包含)のメタデータをキャッシュできます。schema-awareの場合、ドライバは、起動時にデータベーステーブル/ビューのメタデータを取得します。必須のメタデータメソッドのリストについては、Section D.0, java.sql.DatabaseMetaDataのメソッドを参照してください。

schema-awareの場合、スキーマ名またはテーブル/ビュー名のパラメータが存在し、値を保持している必要があります。これらの2つのパラメータは相互排他的なので、いずれかのパラメータだけが値を持つようにします。スキーマ名およびテーブル/ビュー名を参照してください。

次の表は、ドライバをschema-awareにするために必要なパラメータのリストです。ドライバがschema-unawareの場合は、これらのパラメータはドライバの動作には反映されません。

Table 4-10 スキーマ依存のパラメータ

パラメータ

ステートメントジェネレータクラスのロック

Enable Referential Attribute Support? (参照属性のサポートを有効にしますか?)

Enable Meta-Identifier Support? (メタ識別子のサポートを有効にしますか?)

Left Outer Join Operator (左外部結合演算子)

Retrieve Minimal Metadata (最小限のメタデータを取得しますか?)

メタデータの取得でスキーマをサポートしますか?

列名を並べ替える基準

Disable Statement-Level Locking (ステートメントレベルのロックを使用不可にしますか?)

更新件数を確認しますか?

Add Default Values on Insert? (挿入時にデフォルト値を追加しますか?)

生成/取得方法(テーブル-グローバル)

取得タイミング(テーブル-グローバル)

取得タイミング

発行者を使用不可にしますか?

ステートメントレベルのロックを使用不可にしますか?

発行モード

将来のイベント処理を有効にしますか?

イベントログのテーブル名

処理された行を削除しますか?

ループバックを許可しますか?

起動オプション

ポーリング間隔(秒)

Publication Time of Day (発行時刻)

ポストポーリングステートメント

バッチサイズ

次の表は、このパラメータのプロパティのリストです。

Table 4-11 同期フィルタ: プロパティ

プロパティ

タグ名

sync-filter

必須?

×

大文字と小文字を区別?

×

サンプル値

indirect

有効な値

empty(すべてのテーブル/ビューを除外する) schema(スキーマメンバーシップで包含) list (テーブル/ビュー名で包含)

デフォルト値:

(なし)

スキーマ名

「スキーマ名」パラメータは、同期されているデータベーススキーマを識別します。データベーススキーマは、同期されているテーブルまたはビューの所有者の名前と似ています。たとえば、いずれもデータベースユーザidmに属するusrおよびgrpの2つのテーブルを同期するには、このパラメータの値として「idm」と入力します。

テーブル/ビュー名の代わりにこのパラメータを使用する場合、データベースオブジェクトの名前は、ドライバによって暗黙的にスキーマ修飾されます。したがって、ストアドプロシージャ、関数、またはテーブルの名前を参照するパラメータは、ここで指定されている以外のスキーマに存在する場合を除いて、スキーマ修飾の必要はありません。特に、「方法とタイミング(テーブル-ローカル)」および「イベントログテーブル名」パラメータがこの影響を受けます。テーブル/ビュー名方法とタイミング(テーブル-ローカル)、およびイベントログのテーブル名を参照してください。

次の表は、このパラメータのプロパティのリストです。

Table 4-12 スキーマ名: プロパティ

プロパティ

タグ名

sync-schema

必須?

1

大文字と小文字を区別?

区切りのない識別子での大文字と小文字の区別を参照してください。

サンプル値

indirect

デフォルト値:

(なし)

1 「スキーマ名」パラメータが「同期フィルタ」パラメータを伴わずに使用される場合、「テーブル/ビュー名」パラメータは、空のままにするか、環境設定から除外する必要があります。同期フィルタおよびテーブル/ビュー名を参照してください。

IMPORTANT:「スキーマ名」パラメータの値を変更すると、トリガなし発行が使用されるときにすべてのオブジェクトが強制的に再同期されます。

フィルタ式を含む

「フィルタ式を含む」パラメータは、「スキーマ名」パラメータが使用されている場合のみ機能します。スキーマ名を参照してください。

次の表は、このパラメータのプロパティのリストです。

Table 4-13 フィルタ式を含む: プロパティ

プロパティ

タグ名

include-table-filter

必須?

×

大文字と小文字を区別?

サンプル値

idm_*. (「idm_」で始まるすべてのテーブル/ビュー名)

デフォルト値

(なし)

有効な値

(任意の有効なJava正規表現)

フィルタ式を除く

このパラメータは、「スキーマ名」パラメータが使用されている場合のみ機能します。スキーマ名を参照してください。

次の表は、このパラメータのプロパティのリストです。

Table 4-14 フィルタ式を除く: プロパティ

プロパティ

タグ名

exclude-table-filter

必須?

×

大文字と小文字を区別?

サンプル値

bin*. (「bin」で始まるすべてのテーブル/ビュー名)

デフォルト値

(なし)

有効な値

(任意の有効なJava正規表現)

テーブル/ビュー名

「テーブル/ビュー名」パラメータでは、同期する論理データベースクラスの名前をリストすることによって、論理データベーススキーマを作成できます。論理データベースクラス名は、親テーブルおよびビューの名前です。子テーブルの名前をリストするの間違いです。

このパラメータは、スキーマの概念をサポートしないMySQLなどのデータベースと同期する場合、またはデータベーススキーマに多数のテーブルまたはビューがあるがそのほとんどが必要ない場合に、特に便利です。ドライバによってキャッシュされるテーブル/ビューの定義の数を減らすと、起動時間を短縮し、ランタイムメモリの使用率を削減できます。

「スキーマ名」パラメータの代わりにこのパラメータを使用する場合は、ストアドプロシージャ、関数、またはテーブル名を参照する他のパラメータをスキーマ修飾することが必要になります。特に、「方法とタイミング(テーブル-ローカル)」および「イベントログテーブル名」パラメータがこの影響を受けます。スキーマ名方法とタイミング(テーブル-ローカル)およびイベントログのテーブル名を参照してください。

次の表は、このパラメータのプロパティのリストです。

Table 4-15 テーブル/ビュー名: プロパティ

プロパティ

タグ名

sync-tables

必須?

1

大文字と小文字を区別?

区切りのない識別子での大文字と小文字の区別を参照してください。

区切り文字

セミコロン、空白、カンマ

サンプル値

indirect.usr; indirect.grp

デフォルト値

(なし)

1 このパラメータが「同期フィルタ」パラメータを伴わずに使用される場合、「スキーマ名」パラメータを空にするか、環境設定から除外する必要があります。同期フィルタおよびスキーマ名を参照してください。

4.3.3 接続性パラメータ

最小数の接続を使用しますか?

「最小数の接続を使用しますか?」パラメータは、ドライバがデータベース接続を3つではなく2つ使用するかどうかを指定します。

デフォルトで、ドライバは、3つ(購読用に1つ、発行用に2つ)の接続を使用します。発行者チャネルは、2つの接続のうち1つを使用して、イベントを問い合わせ、もう1つを使用してクエリバック操作を容易にします。

このパラメータを論理値のTrueに設定した場合、必要なデータベース接続数は2に減らされます。1つの接続が購読者チャネルおよび発行者チャネル間で共有され、購読および発行のクエリバックイベントの処理に使用されます。もう1つの接続は、発行イベントのクエリに使用されます。

旧バージョンでは、ドライバは、1つの接続を使用した双方向の同期をサポートできていました。発行アルゴリズムは、パフォーマンスを向上し、将来のイベントの処理をサポートできるようにすると同時に、追加接続の要求を犠牲にしていた以前のアルゴリズムの制限を克服するために再設計されました。

Table 4-16 最小数の接続を使用しますか?: プロパティ

プロパティ

タグ名

use-single-connection

必須?

×

デフォルト値

(動的1)

有効な値

1、yes、true (はい) 0、no、false (いいえ)

スキーマ依存

False

1 このデフォルトは、ランタイム時に記述子ファイルから動的に派生します。それ以外の場合のデフォルト値は論理値のFalseです。

NOTE:このパラメータを論理値のTrueに設定すると、パフォーマンスが低下します。

接続初期化ステートメント

「接続初期化ステートメント」パラメータは、ターゲットデータベースに接続した直後に実行する必要があるSQLステートメント(存在する場合)を指定します。接続初期化ステートメントは、データベースコンテキストを変更する場合、およびセッションプロパティを設定する場合に便利です。これらのステートメントは、チャネルに関係なく、ドライバがターゲットデータベースに接続または再接続するたびに実行されます。

次の表は、このパラメータのプロパティのリストです。

Table 4-17 接続初期化ステートメント: プロパティ

プロパティ

タグ名

connection-init

必須?

×

大文字と小文字を区別?

区切りのない識別子での大文字と小文字の区別を参照してください。

区切り文字

セミコロン

サンプル値

USE idm; SET CHAINED OFF

デフォルト値

(なし)

スキーマ依存

False

接続プロパティ

「接続プロパティ」パラメータは、認証プロパティを指定します。このパラメータは、「認証コンテキスト」パラメータで指定されたJDBC URL経由で設定できないプロパティを指定する場合に便利です。認証コンテキストを参照してください。

このパラメータの主な用途は、サードパーティ製のJDBCドライバで暗号化された転送を有効にすることです。関連する接続プロパティのリストについては、Sybase Adaptive Server Enterprise JConnect JDBCドライバおよびOracle Thin Client JDBC Driverを参照してください。

接続プロパティは、キーと値のペアとして指定されます。キーは、「=」文字の左側の値として指定されます。値は、「=」文字の右側の値です。キーと値のペアは複数指定できますが、それぞれのペアは「;」文字で区切る必要があります。

接続プロパティパラメータを使用する場合は、認証情報を、認証コンテキストパラメータ、またはここで指定されたJDBC URL経由で渡すことができます。認証コンテキストを参照してください。

接続プロパティとして指定されている場合、値トークンは、「認証ID」パラメータで指定されるデータベースユーザ名、または「アプリケーションパスワード」パラメータで指定されるパスワードのプレースホルダとして使用できます。認証IDおよびアプリケーションパスワードを参照してください。ユーザ名の場合、トークンは{$username}です。パスワードの場合は{$password}です。

次の表は、このパラメータのプロパティのリストです。

Table 4-18 接続プロパティ: プロパティ

プロパティ

タグ名

connection-properties

必須?

×

大文字と小文字を区別?

サードパーティ製のJDBCドライバに依存

区切り文字

セミコロン

サンプル値

USER={$username}; PASSWORD={$password}; SYBSOCKET_FACTORY=DEFAULT

デフォルト値

(なし)

スキーマ依存

False

4.3.4 互換性パラメータ

JDBCドライバ記述子ファイル名

「JDBC ドライバ記述子ファイル名」パラメータは、使用するサードパーティ製のJDBC記述子ファイルを指定します。記述子ファイル名には、アンダースコア文字のプリフィックスを付けてはなりません(たとえば、_mysql_jdriver.xml)。この種のファイル名は予約済みです。記述子ファイルを、大文字小文字が区別されないプリフィックス「jdbc」が付けられたjarファイル(たとえばJDBCCustomConfig.jar)、およびjarファイルのcom/novell/nds/dirxml/driver/jdbc/db/descriptor/driverディレクトリに配置します。

次の表は、このパラメータのプロパティのリストです。

Table 4-19 JDBCドライバ記述子ファイル名: プロパティ

プロパティ

タグ名

jdbc-driver-descriptor

必須?

×

大文字と小文字を区別?

プラットフォーム依存

サンプル値

my_custom_jdbc_driver_descriptor.xml

デフォルト値

(なし)

スキーマ依存

False

データベース記述子ファイル名

「データベース記述子ファイル名パラメータ」は、使用するデータベース記述子ファイルを指定します。記述子ファイル名のプリフィックスにアンダースコア文字を使用しないでください(_mysql.xmlなど)。この種の名前は予約済みです。記述子ファイルを、大文字小文字が区別されないプリフィックス「jdbc」で始まるjarファイル(たとえば、JDBCCustomConfig.jar)に配置します。また、記述子ファイルをjarファイルのcom/novell/nds/dirxml/driver/jdbc/db/descriptor/dbディレクトリに配置します。

次の表は、このパラメータのプロパティのリストです。

Table 4-20 データベース記述子ファイル名: プロパティ

プロパティ

タグ名

jdbc-driver-descriptor

必須?

×

大文字と小文字を区別?

プラットフォーム依存

サンプル値

my_custom_database_descriptor.xml

デフォルト値

(なし)

スキーマ依存

False

手動トランザクションを使用しますか?

「手動トランザクションを使用しますか?」パラメータは、手動とユーザ定義のどちらのトランザクションを使用するかを指定します。

このパラメータは、主に、トランザクションをサポートしないMySQL MyISAMテーブルタイプとの相互運用を可能にするために使用されます。

論理値のTrueに設定した場合、ドライバは手動トランザクションを使用します。論理値のFalseに設定した場合、ドライバで実行される各ステートメントは自律的(自動的)に実行されます。

次の表は、このパラメータのプロパティのリストです。

Table 4-21 手動トランザクションを使用しますか?: プロパティ

プロパティ

タグ名

use-manual-transactions

必須?

×

大文字と小文字を区別?

×

デフォルト値

(動的1)

有効な値

1、yes、true (はい) 0、no、false (いいえ)

スキーマ依存

False

1 このデフォルトは、ランタイム時に記述子ファイルおよびデータベースメタデータから動的に派生します。

NOTE:データの整合性を維持するには、このパラメータを、可能な限り論理値のTrueに設定します。

トランザクション分離レベル

トランザクション分離レベルパラメータは、ドライバが使用する接続のトランザクション分離レベルを設定します。有効な値は次の6つです。

  • unsupported
  • none
  • read uncommitted
  • read committed
  • repeatable read
  • serializable

これらの値のうち5つは、java.sql Interface Connectionで定義されているパブリック定数に対応しています。

サードパーティ製のドライバの一部は、接続のトランザクション分離レベルに対するnoneの設定をサポートしていないので、ドライバは追加の非標準値unsupportedもサポートします。PostgreSQLのオンラインマニュアルには、各分離レベルの実際の意味についてのわかりやすく正確な説明があります。

IMPORTANT:サポートされている分離レベルのリストは、データベースによって異なります。サポートされているデータベースごとのサポート分離レベルのリストについては、サポートされているトランザクション分離レベルを参照してください。

トランザクション分離レベルにはread committedを使用することをお勧めします。これは、ドライバがコミットされていない変更を表示(ダーティ読み取り)しないようにする最低限の分離レベルだからです。

次の表は、このパラメータのプロパティのリストです。

Table 4-22 トランザクション分離レベル: プロパティ

プロパティ

タグ名

transaction-isolation-level

必須?

×

大文字と小文字を区別?

×

デフォルト値

(動的1)

有効な値

unsupported none read uncommitted read committed repeatable read serializable

スキーマ依存

False

1 このデフォルトは、ランタイム時に記述子ファイルから動的に派生します。それ以外の場合のデフォルト値はread committedです。

ステートメントを再使用しますか?

「ステートメントを再使用しますか?」パラメータは、特定の接続で一度にアクティブにするjava.sql.Statementアイテムを1つにするか複数にするかを指定します。java.sql.Statementを参照してください。

このパラメータは、主に、Microsoft SQL Server 2000 Driver for JDBCとの相互運用を可能にするために使用されます。

論理値のTrueに設定した場合、ドライバはJava SQL Statementを1回割り当て、それを再使用します。論理値のFalseに設定した場合、ドライバは、ステートメントオブジェクトを、それが使用されるたびに割り当てまたは割り当て解除して、特定の接続で一度に複数のステートメントがアクティブにならないようにします。

次の表は、このパラメータのプロパティのリストです。

Table 4-23 ステートメントを再使用しますか?: プロパティ

プロパティ

タグ名

reuse-statements

必須?

×

大文字と小文字を区別?

×

デフォルト値

(動的1)

有効な値

1、yes、true (はい) 0、no、false (いいえ)

スキーマ依存

False

1 このデフォルトは、ランタイム時に記述子ファイルから動的に派生します。それ以外の場合のデフォルト値は論理値のTrueです。

NOTE:このパラメータを論理値のFalseに設定すると、パフォーマンスが低下します。

返された結果セットの数

「返された結果セットの数」パラメータでは、任意のSQLステートメントから返すことができるjava.sql.Resultオブジェクト数を指定します。java.sql.ResultSetを参照してください。

このパラメータは、主に、任意のSQLステートメントを評価するときに、Oracle Thin Client JDBC Driverに記載された無限ループ状態になるのを避けるために使用されます。

次の表は、このパラメータのプロパティのリストです。

Table 4-24 返された結果セットの数: プロパティ

プロパティ

タグ名

handle-stmt-results

必須?

×

サンプル値

one

デフォルト値

(動的1)

有効な値

none、no (なし) single、one (1) multiple、many、yes (複数)

スキーマ依存

False

1 このデフォルトは、ランタイム時に記述子ファイルから動的に派生します。それ以外の場合のデフォルト値はmultiple、many、またはyesです。

ステートメントレベルのロックを有効にしますか?

「ステートメントレベルのロックを有効にしますか?」パラメータは、SQLステートメントを実行する前にドライバがデータベースリソースを明示的にロックするかどうかを指定します。

次の表は、このパラメータのプロパティのリストです。

Table 4-25 ステートメントレベルのロックを有効にしますか?: プロパティ

プロパティ

タグ名

enable-locking

必須?

×

デフォルト値

0 (いいえ)

有効な値

1、yes、true (はい) 0、no、false (いいえ)

スキーマ依存

True

ステートメントジェネレータクラスのロック

「ステートメントジェネレータクラスのロック」パラメータは、保留中のSQLステートメントのデータベースリソースを明示的にロックするために必要なSQLステートメントの生成に使用するDBLockStatementGenerator実装を指定します。DBLockStatementGeneratorインタフェースについては、ドライバに付属しているJavaマニュアルを参照してください。

次の表は、このパラメータのプロパティのリストです。

Table 4-26 ステートメントジェネレータクラスのロック: プロパティ

プロパティ

タグ名

lock-generator-class

必須?

×

サンプル値

com.novell.nds.dirxml.driver.jdbc.db.lock.OraLockGenerator

デフォルト値

(動的1)

有効な値

1、yes、true (はい) 0、no、false (いいえ)

スキーマ依存

True

1 このデフォルトは、ランタイム時に記述子ファイルから動的に派生します。それ以外の場合のデフォルト値はcom.novell.nds.dirxml.driver.jdbc.db.lock.DBLockGeneratorです。

Enable Referential Attribute Support? (参照属性のサポートを有効にしますか?)

「Enable Referential Attribute Support? (参照属性のサポートを有効にしますか?)」パラメータは、ドライバが論理データベースクラス間の外部キー制約を認識するかどうかを切り替えます。これらは包含を示すために使用されます。論理データベースクラス内のテーブルの親子間の外部キー制約には影響はありません。

論理値のTrueに設定した場合、外部キー列が参照として解釈されます。論理値のFalseに設定した場合、外部キー列が非参照として解釈されます。

このパラメータは、主に、1.0バージョンのドライバとの後方互換性を確実にするために使用されます。1.0との互換性のためには、このパラメータを論理値のFalseに設定します。

次の表は、このパラメータのプロパティのリストです。

Table 4-27 Enable Referential Attribute Support? (参照属性のサポートを有効にしますか?): プロパティ

プロパティ

タグ名

enable-refs

必須?

×

デフォルト値

1 (はい)

有効な値

1、yes、true (はい) 0、no、false (いいえ)

スキーマ依存

True

Enable Meta-Identifier Support? (メタ識別子のサポートを有効にしますか?)

「Enable Meta-Identifier Support? (メタ識別子のサポートを有効にしますか?)」パラメータは、ドライバが「pk_」や「fk_」などのビューの列名のプリフィックスをメタデータとして厳密に解釈するかどうかを切り替えます。メタデータとして解釈される場合、このようなプリフィックスは、ビューの列名の一部とは見なされません。

たとえば、メタ識別子のサポートが有効である場合、「pk_idu」列の有効な列名は「idu」であり、同じビュー内に同じ有効な名前を持つ別の列を配置することは禁止されます。メタ識別子サポートが無効である場合、「pk_idu」列の有効な列名は「pk_idu」となり、名前が「idu」の別の列を配置できます。さらに、メタ識別子サポートが有効な場合、「pk_idu」というプライマリキーを持つビューは、「idu」というプライマリキー列を持つテーブルと衝突します。メタ識別子サポートが無効の場合は衝突しません。

論理値のTrueに設定した場合、ビューの列のプリフィックスはメタデータとして解釈されます。論理値のFalseに設定した場合、ビューの列名のプリフィックスは列名そのものの一部として解釈されます。

このパラメータは、主に、1.5バージョンのドライバとの後方互換性を確実にするために使用されます。1.5との互換性のためには、このパラメータを論理値のFalseに設定します。

次の表は、このパラメータのプロパティのリストです。

Table 4-28 Enable Meta-Identifier Support? (メタ識別子のサポートを有効にしますか?): プロパティ

プロパティ

タグ名

enable-meta-identifiers

必須?

×

デフォルト値

1 (はい)

有効な値

1、yes、true (はい) 0、no、false (いいえ)

スキーマ依存

True

ユーザ名を大文字に固定

「ユーザ名を大文字に固定」パラメータは、ターゲットデータベースの認証に使用されるドライバのユーザ名の大文字と小文字を変更します。

このパラメータは、主に、Informix JDBC DriverをANSI互換のデータベースに対して使用する場合の相互運用を可能にするために使用されます。Informix JDBC Driverを参照してください。

次の表は、このパラメータのプロパティのリストです。

Table 4-29 ユーザ名を大文字に固定: プロパティ

プロパティ

タグ名

force-username-case

必須?

×

デフォルト値

(強制しない)

有効な値

lower (小文字に強制) mixed (大/小文字の混在) upper (大文字に強制)

スキーマ依存

False

Left Outer Join Operator (左外部結合演算子)

「Left Outer Join Operator (左外部結合演算子)」パラメータは、トリガなし発行クエリで使用される左外部結合演算子を指定します。将来、他の目的で使用される可能性もあります。

次の表は、このパラメータのプロパティのリストです。

Table 4-30 Left Outer Join Operator (左外部結合演算子): プロパティ

プロパティ

タグ名

left-outer-join-operator

必須?

×

デフォルト値

(動的1)

有効な値

*= (+) LEFT OUTER JOIN

スキーマ依存

True

1 このデフォルトは、ランタイム時に記述子ファイルから動的に派生します。それ以外の場合のデフォルト値はLEFT OUTER JOINです。

Retrieve Minimal Metadata (最小限のメタデータを取得しますか?)

論理値のTrueに設定した場合、ドライバは、必須のメタデータメソッドだけを呼び出します。論理値のFalseに設定した場合、ドライバは必須およびオプションのメタデータメソッドを呼び出します。必須およびオプションのメタデータメソッドのリストについては、Section D.0, java.sql.DatabaseMetaDataのメソッドを参照してください。オプションのメタデータメソッドは、複数値および参照属性の同期に必要です。

Table 4-31 Retrieve Minimal Metadata (最小限のメタデータを取得しますか?): プロパティ

プロパティ

タグ名

minimal-metadata

必須?

×

デフォルト値

(動的1)

有効な値

1、yes、true (はい) 0、no、false (いいえ)

スキーマ依存

True

1 このデフォルトは、ランタイム時に記述子ファイルから動的に派生します。それ以外の場合のデフォルト値は論理値のFalseです。

NOTE:この値を論理値のTrueに設定すると、起動時間が短縮されサードパーティ製のJDBCドライバとの互換性が向上しますが、機能面が犠牲になります。

関数のリターン方法

「関数のリターン方法」パラメータは、データがデータベース関数からどのように取得されるかを指定します。

このパラメータは、主に、Informix JDBC Driverとの相互運用を可能にするために使用されます。Informix JDBC Driverを参照してください。

result setに設定した場合、関数の結果は結果セットを通じて取得されます。return valueに設定した場合、関数の結果は、単一のスカラ返り値として取得されます。

Table 4-32 関数のリターン方法: プロパティ

プロパティ

タグ名

function-return-method

必須?

×

デフォルト値

(動的1)

有効な値

result set return value (スカラ返り値)

スキーマ依存

False

1 このデフォルトは、ランタイム時に記述子ファイルから動的に派生します。

メタデータの取得でスキーマをサポートしますか?

「メタデータの取得でスキーマをサポートしますか?」パラメータは、データベースメタデータを取得するときにスキーマ名を使用するかどうかを指定します。

このパラメータは、主に、Informix JDBC DriverをANSI互換のデータベースに対して使用する場合の相互運用を可能にするために使用されます。Informix JDBC Driverを参照してください。

論理値のTrueに設定した場合、スキーマ名が使用されます。論理値のFalseに設定した場合、スキーマ名は使用されません。

Table 4-33 メタデータの取得でスキーマをサポートしますか?: プロパティ

プロパティ

タグ名

supports-schemas-in-metadata-retrieval

必須?

×

デフォルト値

(動的1)

有効な値

1、yes、true (はい) 0、no、false (いいえ)

スキーマ依存

False

1 このデフォルトは、ランタイム時に記述子ファイルから動的に派生します。それ以外の場合のデフォルト値は論理値のTrueです。

列名を並べ替える基準

「列名を並べ替える基準」パラメータは、列名による並べ替えをサポートしないレガシデータベースで列位置を決定する方法を指定します。

このパラメータは、主に、DB2/AS400などのレガシデータベースとの相互運用を可能にするために使用されます。

列名を16進値で並べ替えると、ドライバのインスタンスが異なるサーバに再割り当てされても、そのまま機能し、変更する必要がありません。列名をプラットフォームまたはロケール文字列の照合順序で並び替えた方が直感的になりますが、ドライバのインスタンスが異なるサーバに再配置される場合は環境設定の変更が必要になります。特に、ログテーブル列の順序と複合列名の順序は変わります。後者の場合、スキーママッピングポリシーとオブジェクトの関連付け値を更新しなければならない場合があります。前者の場合、イベントログのテーブル列名を変更しなければならない場合があります。

以下の場合は、完全修飾Javaクラス名を指定することもできます。

  • Javaクラス名がjava.util.Comparatorインタフェースを実装している。
  • Javaクラス名でjava.lang.String引数を使用できる。
  • クラスがランタイムクラスパスに含まれる。

Table 4-34 列名を並べ替える基準: プロパティ

プロパティ

タグ名

column-position-comparator

必須?

×

デフォルト値

(動的1)

有効な値

com.novell.nds.dirxml.driver.jdbc.util.config.comp.StringByteComparator (16進値) com.novell.nds.dirxml.driver.jdbc.util.config.comp.StringComparator (文字列照合順序) (java.lang.Stringを受け付ける任意のjava.util.Comparator)

スキーマ依存

True

1 このデフォルトは、ランタイム時に記述子ファイルから動的に派生します。それ以外の場合のデフォルト値はcom.novell.nds.dirxml.driver.jdbc.util.config.comp.StringByteComparatorになります。

IMPORTANT:特定の環境設定でこのパラメータを設定した後は、パラメータを変更しないでください。