JDBC ドライバーのパラメーター

次の表に、JDBC ドライバーのパラメーターとそのデフォルト値を示します。

これらのオプションは、コネクション URL のパラメーター または ドライバープロパティとして指定できます。ただし、 userGSSCredential は URL パラメーターではなくドライバープロパティとして渡す必要があります。

JDBC ドライバーのパラメーターとそのデフォルト値

URL のパラメーター

説明

autoCommit

true の場合、トランザクションを管理する JDBC API のメソッド呼び出しは無視されます。たとえば、ドライバーは、 setAutoCommit(...)commit() 、および rollback() のメソッドの呼び出しを無視します。

これは、アプリケーションがトランザクションを不用意に開始しないようにする場合に便利です。

このパラメーターが true に設定されていても、アプリケーションは BEGINCOMMIT 、および ROLLBACK のステートメントを実行することでトランザクションを開始および終了できます。

クライアントが COMMIT の実行後に setAutoCommit(false) を呼び出した場合、ドライバーは別のステートメントを実行する必要が生じるまで新しいトランザクションを開始しません。

クライアントが setAutoCommit(false) を呼び出す場合、トランザクションの期間に対する制限を考慮します。

  • デフォルトでは、トランザクションは 30 分を超えて継続できません。

  • ステートメントの実行が完了したら、クライアントは 30 秒未満以内に別のステートメントを実行する必要があります。

トランザクションの期間に対する制限の詳細については、『VQL ガイド』の「 Virtual DataPort のトランザクション 」を参照してください。

デフォルト値 :true

chunkSize

クエリの結果はブロック (チャンク) に分割できるため、サーバーはクエリの完了を待たずに、結果の一部をクライアントに送信し始めることができます。

このパラメーターは、1 つのブロックに格納できる結果の最大数を設定します。サーバーは、ブロックを完成させるのに十分な結果を取得すると、このブロックをドライバーに送信して次の結果の処理を続行します。

このドライバーを使用するアプリケーションでは、このパラメーターをコネクション URL に追加するか、クエリの実行前に Statement クラスの setFetchSize メソッドを呼び出すか、またはその両方を実行することができます。 setFetchSize メソッドで設定された値は、URL に設定された値より優先されます。

デフォルト値: 1000

chunkTimeout

このパラメーターは、サーバーが新しいブロックをドライバーに返すまで待機する最大時間 (ミリ秒) を設定します。この時間を超えた場合、 chunkSize パラメーターで指定されている数の結果が格納されていなくても、サーバーは現在のブロックを送信します。

: chunkSizechunkTimeout0 の場合、サーバーは、すべての結果を 1 つのブロックで返します。両方の値が 0 ではない場合、サーバーは、以下の状態のどちらかになると、チャンクを 1 つ返します。

  • チャンクがいっぱいになった (chunkSize)

  • クライアントにチャンクを 1 つも送信しないまま一定時間が経過した (chunkTimeout)

デフォルト値: 90000 ミリ秒 (90 秒)

describeNationalCharTypesAsBasicTypes

true の場合、ドライバーはフィールド型 NCHAR、NVARCHAR、NCLOB、および LONGNVARCHAR をそれぞれ CHAR、VARCHAR、CLOB、および LONGVARCHAR としてレポートします。

デフォルト値: false

i18n

このパラメーターは、サーバーとのコネクションのロケール (i18n) 構成を設定します。

存在しない場合、ドライバーは接続しているデータベースのロケールを想定します。

クエリの CONTEXT 句のパラメーター i18n は、このパラメーターの値より優先されます。

デフォルト値: 接続しているデータベースのロケール

identifiersUppercase

true の場合、 SELECT クエリを実行すると、フィールドの名前が大文字で返されます。

デフォルト値は false です。

デフォルト値: false

password

Virtual DataPort に対する認証に使用されるパスワード。このパラメーターを使用する場合は、パラメーター user の値も指定します。

デフォルト値: なし

publishCatalogsAsSchemas

デフォルトでは、JDBC ドライバーは Virtual DataPort のデータベースをカタログとして公開します。各カタログは、SQL オブジェクト (テーブル、ビュー、ストアドプロシージャなど) の集合です。

このプロパティが true の場合、ドライバーは各データベースをスキーマとして公開します。各スキーマは SQL オブジェクトの集合です。

一部のツールは、データベースがそのエレメントをカタログではなくスキーマで整理することを要求します。その場合は、このパラメーターを true に設定してコネクションに追加します。

デフォルト値: false

publishViewsAsTables

false の場合、JDBC ドライバーによって公開されるメタデータには、TABLE エレメントがビューとして記述され、派生ビューとインターフェイスビューが VIEW エレメントとして記述されます。

true の場合、メタデータにはすべてのビューが TABLE エレメントとして記述されます。

一部のサードパーティツールでは、ビュー間に作成されるアソシエーションを認識するために、JDBC メタデータですべてのビューをテーブルとして公開する必要があります。このようなアプリケーションの場合、このパラメーターを true に設定して URL に追加します。

デフォルト値: false

queryTimeout

ドライバーがクエリの完了を待機する最長時間 (ミリ秒)。この時間を過ぎると、ドライバーは例外をスローします。

このパラメーターはオプションです。設定しない場合、クエリのタイムアウトはデフォルト値 (900000 ミリ秒) になります。0 の場合、ドライバーはクエリが完了するまで無期限に待機します。

このパラメーターは、すべてのクエリのデフォルトタイムアウトを設定します。また、クエリの CONTEXT 句にパラメーター 'QUERYTIMEOUT' = '<value>' を追加することで、単一のクエリのタイムアウトを変更することもできます。この詳細については、『VQL ガイド』の「 CONTEXT 句 」を参照してください。

デフォルト値: 900000 ミリ秒 (15 分)

pingQuery および pingQueryTimeout

ロードバランサー経由で Virtual DataPort に接続する場合にのみ必要なパラメーターです。これらの使い方については、「 ロードバランサー経由での Virtual DataPort への接続 」を参照してください。

デフォルト値: なし

ssl

デフォルトでは、ドライバーはサーバーとの非 SSL コネクションを確立しようとします。サーバーで SSL が有効になっている場合、コネクションは失敗し、その直後にドライバーは SSL コネクションを確立しようとします。

true の場合、ドライバーは SSL コネクションのみを確立します。サーバーで SSL が有効になっていない場合、コネクションは失敗します。

false の場合、ドライバーは非 SSL コネクションのみを確立し、SSL コネクションの確立は試行しません。サーバーで SSL が有効になっている場合、コネクションは失敗します。

デフォルト値: なし

user

Virtual DataPort に対する認証に使用されるユーザー名。このパラメーターを使用する場合は、パラメーター password の値も指定します。

デフォルト値: なし

userAgent

コネクションのユーザーエージェントを設定します。このパラメーターの設定を推奨する理由については、管理ガイドの「アプリケーションのユーザーエージェントの設定」を参照してください。

デフォルト値: <empty>

userGSSCredential

クラス org.ietf.jgss.GSSCredential の Java オブジェクト。

このドライバープロパティは、ドライバーが Denodo への接続に使用する Kerberos 資格情報を渡すために使用します。

userGSSCredential は、ドライバープロパティである必要があります。URL のパラメーターとして渡すことはできません。

このプロパティの詳細については、「 Kerberos 認証を使用した Virtual DataPort への接続 」を参照してください。

デフォルト値: なし

wanOptimized

true の場合、ドライバーは、クライアントアプリケーションと Virtual DataPort サーバー間の通信の遅延を減らす複数の機能を有効にします。

デフォルト値: false

autocommit プロパティ

デフォルトでは、Denodo JDBC ドライバーによって開かれたコネクションでは、「autocommit」プロパティが true に設定されます。これは推奨値で、クエリがトランザクションの内部で実行されなくなるという効果があります。

ステートメントを同じトランザクションの内部で実行する必要がある場合を除き、このプロパティを false に変更しないでください。その理由は、Virtual DataPort は分散トランザクションマネージャーを使用し、分散トランザクションマネージャーは 2 フェーズコミットを使用するためです。このプロトコルを使用すると、クエリにオーバーヘッドが発生します。そのため、必要がない場合にこのプロパティを false に設定すると、クエリの実行速度が不必要に低下します。


SSL/TLS を使用した Virtual DataPort への接続

Virtual DataPort で SSL が有効になっており、Virtual DataPort が使用する SSL 証明書がパブリック 証明機関 (CA) によって署名されていない場合、そのキーに署名した証明機関を信頼するようにクライアントアプリケーションが構成されていない限り、コネクションは失敗します。この証明機関を信頼するには、この証明機関の証明書を、このクライアントアプリケーションが使用する Java Runtime Environment (JRE) の cacerts ファイルにインポートする必要があります。