Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


17.2.2 getConnectionメソッドによるHiRDBへの接続

DriverManagerクラスのgetConnectionメソッドには,引数が異なる次の三つの形式があります。

これらのメソッドの引数(url,user,password,及びinfo)には,HiRDBへの接続に必要な接続情報を指定します。

正常にHiRDBに接続した場合,JDBCドライバはこれらのメソッドを呼び出した結果として,Connectionクラスのインスタンスの参照を返却します。ただし,次の場合には,これらのメソッドはSQLExceptionを投入します。

getConnectionメソッドの引数の指定内容を次の表に示します。

表17‒3 getConnectionメソッドの引数の指定内容

引数

指定内容

外部ドライバ※1

内部ドライバ※2

String url

URLを指定します。詳細については,「URLの構文」を参照してください。

String user

認可識別子を指定します。

指定値がナル値の場合は,認可識別子の指定がないものとみなされます。長さ0の文字列の場合は,SQLExceptionを投入し,KFPJ20212-Eメッセージの埋字となる"aa....aa"には"user"が設定されます。

指定の優先順位については,「接続情報の優先順位」を参照してください。

×

String password

パスワードを指定します。指定の優先順位については,「接続情報の優先順位」を参照してください。

指定値がナル値,又は長さ0の文字列の場合は,パスワードの指定がないものとみなされます。

×

Properties info

各種接続情報を指定します。詳細については,「ユーザプロパティ」を参照してください。

(凡例)

○:指定は有効になります。

×:指定は無効になります。

注※1

Javaアプリケーションで使用するJDBCドライバのことです。

注※2

Javaストアドプロシジャで使用するJDBCドライバのことです。

〈この項の構成〉

(1) URLの構文

JDBCドライバで指定できるURLの構文について説明します。

なお,URL内の各項目及び項目間にはスペースを入れないでください。また,各項目名称の大文字と小文字を区別するため,注意してください。

(a) URLの構文

  jdbc:hitachi:hirdb[://[DBID=接続付加情報]
                    [,DBHOST=DBホスト名称]
                    [,ENCODELANG=変換文字セット]
                    [,HIRDB_CURSOR=カーソル動作モード]
                    [,STATEMENT_COMMIT_BEHAVIOR=ステートメントのコミット実行後の状態]
                    [,JDBC_IF=JDBCインタフェースメソッドトレースの取得の有無]
                    [,TRC_NO=トレースのエントリ数]
                    [,SQLWARNING_IGNORE=警告情報を保持するかどうか]
                    [,LONGVARBINARY_ACCESS=BLOB型,BINARY型のアクセス方法]
                    [,SQL_IN_NUM=?パラメタ数]
                    [,SQL_OUT_NUM=出力パラメタ数]
                    [,SQLWARNING_LEVEL=警告保持レベル]
                    [,LONGVARBINARY_ACCESS_SIZE=LONGVARBINARYデータアクセスサイズ]
                    [,MAXBINARYSIZE=LONGVARBINARYデータの最大長]
                    [,LONGVARBINARY_TRUNCERROR=例外を投入するかどうか]
                    [,STATEMENT_CLOSE_BEHAVIOR=前処理結果を無効にするかどうか]
                    [,HiRDB_INI=HiRDB.iniファイルのディレクトリパス]
                    [,USER=ユーザ名称]
                    [,PASSWORD=パスワード]
                    [,UAPNAME=アプリケーション名称]
                    [,BATCHEXCEPTION_BEHAVIOR=BatchExceptionの更新カウントがJDBC規格に
                    準拠するかどうか]
                    [,UPDATECOUNT_BEHAVIOR=ステートメントの更新カウントがJDBC規格に準拠
                    するかどうか]
                    ]

(b) URLの各項目の説明

jdbc:hitachi:hirdb

プロトコル名称,サブプロトコル名称,及びサブネームです。必ず指定してください。また,大文字と小文字の区別をするため,注意してください。

DBID=接続付加情報

HiRDBサーバのポート番号を指定します(クライアント環境定義のPDNAMEPORTに相当します)。又は,HiRDBの環境変数グループを指定します。

HiRDBサーバのポート番号を指定しなかった場合,そのほかの方法で設定した値が有効となります。HiRDBのポート番号の設定方法,及び優先順位については,「接続情報の優先順位」を参照してください。

どちらも指定されていない場合は,getConnectionメソッド実行時にSQLExceptionを投入します。

なお,内部ドライバの場合,HiRDBのポート番号指定は無効です。

<注意事項>

接続付加情報にHiRDBの環境変数グループを指定する場合,次の点に注意してください。

  • HiRDBの環境変数グループ名を指定する場合は,「@HIRDBENVGRP=」に続けて絶対パス名を指定します。「@HIRDBENVGRP=,」のように,"="の後に何も指定しないと,この項目による指定がないものとみなされます。

  • 環境変数グループ名は大文字と小文字を区別するため,注意してください。なお,環境変数グループ名はOSに依存します。

  • 環境変数グループ名に半角スペース,又は半角@文字を含む場合,半角引用符(")で囲んでください。環境変数グループ名を半角引用符で囲んだ場合,最後の半角引用符から次の設定項目,又は文字終端までの文字は無視されます。また,半角引用符,及び半角コンマを含む環境変数グループ名は指定できません。

    エラーになる指定例を次に示します。

    @△HIRDBENVGRP=/HiRDB_P/Client/HiRDB.ini
    @HIRDBENVGRP△=/HiRDB_P/Client/HiRDB.ini
    @HIRDBENVGRP=△/HiRDB_P/Client/HiRDB.ini
    @HIRDBENVGRP=/HiRDB_P/Client/HiRDB.ini△

    注 △は半角スペースを示します。

DBHOST=DBホスト名称

HiRDBのホスト名を指定します。

この指定を省略した場合,そのほかの方法で設定した値が有効となります。HiRDBのホスト名称の設定方法,及び優先順位については,「接続情報の優先順位」を参照してください。

どちらも指定されていない場合は,getConnectionメソッド実行時にSQLExceptionを投入します。

なお,内部ドライバの場合は,この指定は無効です。

ENCODELANG=変換文字セット

StringクラスでHiRDBとのデータ受け渡しをする場合に,接続先のHiRDBの文字コードに対応する変換文字セットを指定します。指定できる変換文字セットは,「Java 2 SDK, Standard Editionドキュメント」の「国際化」で示されるエンコーディング一覧から選択して指定してください。なお,Java仮想マシンがサポートしていない変換文字セット名称を指定した場合は,HiRDBサーバとの接続時にSQLExceptionを投入します。

この指定を省略した場合,JDBCドライバはHiRDBの文字コードと対応する変換文字セットで文字の変換をします。HiRDBの文字コードと対応する変換文字セットを次の表に示します。

表17‒4 HiRDBの文字コードと対応する変換文字セット

HiRDBの文字コード

(pdntenv又はpdsetupコマンドで設定した文字コード)

JDBCドライバが使用する変換文字セット

lang-c

ISO8859_1

sjis

SJIS又はMS932

ujis

EUC_JP

utf-8

UTF-8

utf-8_ivs

UTF-8

chinese

EUC_CN

chinese-gb18030

GB18030

注※

SJISかMS932の指定は,アプリケーションでのWindows特殊文字の扱いによります。

"OFF"を指定した場合も,HiRDBの文字コードに対して表「HiRDBの文字コードと対応する変換文字セット」の変換文字セットが指定されたものとして動作します。HiRDBの文字コードがsjisの場合は,JDBCドライバが動作するOSによって変換文字セットは次のようになります。

UNIXの場合:SJIS

Windowsの場合:MS932

なお,"OFF"以外の指定値は大文字と小文字を区別するため,注意してください。

また,次のものについては,Java仮想マシンのデフォルトの変換文字セットで変換します。

  • UAP名称(プロパティのUAPNAMEなどで設定)の指定値

  • 認可識別子又はパスワード(getConnectionメソッドなどで指定)

  • EnvironmentVariablesで指定したクライアント環境定義の指定値

  • HiRDBクライアントの環境変数グループ名で指定した各環境変数の指定値

HIRDB_CURSOR=カーソル動作モード

HiRDBがコミットした場合に,ResultSetクラスのオブジェクトを有効とするかどうかを指定します。

TRUE:コミットした場合でも,ResultSetクラスのオブジェクトを有効とします。

FALSE:コミットした場合,ResultSetクラスのオブジェクトを無効とします。

この指定を省略した場合,FALSEが仮定されます。

TRUE又はFALSE以外の値が指定された場合は,SQLExceptionを投入します。

また,無効となったResultSetオブジェクトでcloseメソッド呼び出し以外の操作をした場合は,SQLExceptionを投入します。

<注意事項>

HIRDB_CURSOR指定時の注意事項については,「HIRDB_CURSOR及びSTATEMENT_COMMIT_BEHAVIOR指定時の注意事項」を参照してください。

STATEMENT_COMMIT_BEHAVIOR=ステートメントのコミット実行後の状態

HiRDBがコミットした場合に,Statementクラス,PreparedStatementクラス,及びCallableStatementクラス(以降,この三つのクラスをまとめてステートメントと表記します)のオブジェクトを,コミット実行後も有効とするかどうかを指定します。

TRUE:コミットした場合でも,ステートメントのオブジェクトを有効とします。

FALSE:コミットした場合,ステートメントのオブジェクトを無効とします。

なお,コミット実行後に無効とするのは,ConnectionクラスのprepareStatementメソッド,若しくはprepareCallメソッドでプリコンパイルしたSQL文,又はステートメントのexecuteQueryメソッドで取得したResultSetクラスのオブジェクトです。

この指定を省略した場合,TRUEが仮定されます。

<注意事項>

STATEMENT_COMMIT_BEHAVIOR指定時の注意事項については,「HIRDB_CURSOR及びSTATEMENT_COMMIT_BEHAVIOR指定時の注意事項」を参照してください。

JDBC_IF=JDBCインタフェースメソッドトレースの取得の有無

JDBCインタフェースメソッドトレースの取得の有無を指定します。

ON:取得します。

OFF:取得しません。

この指定を省略した場合,OFFが仮定されます。上記以外の値を指定した場合は,SQLExceptionを投入します。

この指定の詳細については,「JDBC_IF」を参照してください。

TRC_NO=トレースのエントリ数

JDBCインタフェースメソッドトレースのエントリ数を指定します。

この指定の詳細については,「TRC_NO」を参照してください。

SQLWARNING_IGNORE=警告情報を保持するかどうか

データベースから返される警告をConnectionオブジェクトで保持するかどうかを指定します。

TRUE:警告を保持しません。

FALSE:警告を保持します。

この指定を省略した場合,FALSEが仮定されます。

上記以外の値を指定した場合は,SQLExceptionを投入します。

この指定の詳細については,「SQLWARNING_IGNORE」を参照してください。

LONGVARBINARY_ACCESS=BLOB型,BINARY型のアクセス方法

JDBCのSQLデータ型LONGVARBINARY型(HiRDBのBLOB型,BINARY型)のデータベースのアクセス方法を指定します。

REAL:実データでアクセスします。

LOCATOR:HiRDBの位置付け子機能を使用してアクセスします。

上記以外の場合はSQLExceptionを投入します。

この指定の詳細については,「LONGVARBINARY_ACCESS」を参照してください。

SQL_IN_NUM=?パラメタ数

実行するSQLの入力?パラメタの最大数を指定します。

この指定の詳細については,「HiRDB_for_Java_SQL_IN_NUM」を参照してください。

SQL_OUT_NUM=出力パラメタ数

実行するSQLの出力項目数の最大数を指定します。

この指定の詳細については,「HiRDB_for_Java_SQL_OUT_NUM」を参照してください。

SQLWARNING_LEVEL=警告保持レベル

SQL実行時に発生した警告情報の保持レベルを指定します。警告情報の保持レベルの詳細については,「SQLWarningオブジェクトの生成条件」を参照してください。

IGNORE:警告情報をIGNOREレベルで保持します。

SQLWARN:警告情報をSQLWARNレベルで保持します。

ALLWARN:警告情報をALLWARNレベルで保持します。

この指定を省略した場合,SQLWARNが仮定されます。

指定値が不正な場合は,SQLExceptionを投入します。

LONGVARBINARY_ACCESS_SIZE=LONGVARBINARYデータアクセスサイズ

HiRDBサーバに対して一度に要求するJDBCのSQLデータ型LONGVARBINARYのデータ長を指定します(単位:キロバイト)。

この指定の詳細については,「HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZE」を参照してください。

MAXBINARYSIZE=LONGVARBINARYデータの最大長

JDBCのSQLデータ型LONGVARBINARY型データ取得時のデータサイズの上限を設定します(単位:バイト)。

この指定の詳細については,「HiRDB_for_Java_MAXBINARYSIZE」を参照してください。

LONGVARBINARY_TRUNCERROR=例外を投入するかどうか

JDBCのSQLデータ型LONGVARBINARY型データ取得時に切り捨てが発生した場合に,例外を投入するかどうかを指定します。

TRUE:例外を投入します。

FALSE:例外を投入しません。

この指定の詳細については,「HiRDB_for_Java_LONGVARBINARY_TRUNCERROR」を参照してください。

STATEMENT_CLOSE_BEHAVIOR=前処理結果を無効にするかどうか

ステートメント(Statementクラス,PreparedStatementクラス,及びCallableStatementクラス)のcloseメソッド実行時に前処理結果を無効にするかどうかを指定します。

TRUE:前処理結果を無効にします。

FALSE:前処理結果を無効にしません。

上記以外の値を指定した場合は,SQLExceptionを投入します。

この指定の詳細については,「HiRDB_for_Java_STATEMENT_CLOSE_BEHAVIOR」を参照してください。

HiRDB_INI=HiRDB.iniファイルのディレクトリパス

HiRDB.iniファイル内に記述されているHiRDBクライアント環境変数を有効にする場合に,HiRDB.iniファイルが存在するディレクトリの絶対パスを指定します。ここで指定したディレクトリのHiRDB.iniファイルのHiRDBクライアント環境変数が有効になります。指定したディレクトリにHiRDB.iniファイルがない場合,及び内部ドライバの場合,この指定は無効になります。

また,この指定を省略した場合,HiRDB.iniファイルの内容は無視されます。

USER=ユーザ名称

ユーザ名称を指定します。

この指定の詳細については,「user」を参照してください。

PASSWORD=パスワード

パスワードを指定します。

この指定の詳細については,「password」を参照してください。

UAPNAME=アプリケーション名称

HiRDBサーバに対してアクセスするUAPの識別情報(UAP識別子)を指定します。

この指定の詳細については,「UAPNAME」を参照してください。

BATCHEXCEPTION_BEHAVIOR=BatchExceptionの更新カウントがJDBC規格に準拠するかどうか

java.sql.BatchUpdateExceptionのgetUpdateCountsメソッドの戻り値に,JDBC規格に準拠した更新カウントを設定するかどうかを指定します。

TRUE:JDBC規格に準拠した更新カウントを設定します。

FALSE:HiRDB独自の更新カウントを設定します。

この指定の詳細については,「HiRDB_for_Java_BATCHEXCEPTION_BEHAVIOR」を参照してください。

UPDATECOUNT_BEHAVIOR=ステートメントの更新カウントがJDBC規格に準拠するかどうか

更新系SQL発行時の更新行数が0の場合,java.sql.StatementのgetUpdateCountメソッドの戻り値として,-1を返却するかどうかを指定します。

TRUE:更新系SQL発行時の更新行数が0の場合,-1を返却します(JDBC規格)。

FALSE:更新系SQL発行時の更新行数が0の場合,0を返却します。

この指定の詳細については,「HiRDB_for_Java_UPDATECOUNT_BEHAVIOR」を参照してください。

(c) HIRDB_CURSOR及びSTATEMENT_COMMIT_BEHAVIOR指定時の注意事項

HIRDB_CURSOR及びSTATEMENT_COMMIT_BEHAVIOR指定時の注意事項を次に示します。

<HIRDB_CURSOR又はSTATEMENT_COMMIT_BEHAVIORにTRUEを指定した場合>
  • クライアント環境定義PDDDLDEAPRPEXEがNO,かつPDDDLDEAPRPがNOの場合,SELECT文,INSERT文,DELETE文,UPDATE文,PURGE TABLE文,又はCALL文のどれかでアクセスするスキーマ資源(表やインデクスなど)に対して,ほかのユーザが定義系SQLを実行すると,スキーマ資源にアクセスしていたコネクションを切断するまでの間,又はスキーマ資源にアクセスしていたステートメントオブジェクトをクローズしコミットするまでの間(STATEMENT_CLOSE_BEHAVIORにTRUEを設定している場合),定義系SQLは排他待ちの状態になります。

  • クライアント環境定義PDDDLDEAPRPEXEがYES,又はPDDDLDEAPRPがYESの場合,SELECT文,INSERT文,DELETE文,UPDATE文,PURGE TABLE文,又はCALL文のどれかでアクセスするスキーマ資源(表やインデクスなど)に対して,ほかのユーザが定義系SQLを実行すると,SELECT文,INSERT文,DELETE文,UPDATE文,PURGE TABLE文,又はCALL文の前処理結果は無効になります。前処理結果が無効となったSQLを実行すると,SQLException例外(getErrorCodeメソッドで取得できる値は-1542)が発生します。

  • HIRDB_CURSOR又はSTATEMENT_COMMIT_BEHAVIORにTRUEを指定※1することで,コミット※2後もプリコンパイルしたSQL文※3が有効になるのは,SELECT文,INSERT文,DELETE文,UPDATE文,PURGE TABLE文,及びCALL文だけです。

    注※1

    次のどちらかの指定の場合も該当します。

    ・getConnectionメソッドで指定するプロパティ中の次の項目にTRUEを設定した。

     ・HIRDB_CURSOR

     ・HiRDB_for_Java_STATEMENT_COMMIT_BEHAVIOR

    ・PrdbDataSourceクラス,PrdbConnectionPoolDataSourceクラス,又はPrdbXADataSourceクラスの次のメソッドでtrueを指定した。

     ・setHiRDBCursorMode

     ・setStatementCommitBehavior

    注※2

    commitメソッドによる明示的なコミットのほかに,次の場合も該当します。

    ・自動コミットによる暗黙的なコミット

    ・定義系SQLの実行

    ・PURGE TABLE文の実行

    注※3

    ConnectionクラスのprepareStatementメソッド又はprepareCallメソッドを実行することでSQL文をプリコンパイルできます。

    SELECT文,INSERT文,DELETE文,UPDATE文,PURGE TABLE文,及びCALL文以外のSQL文では,コミット時にプリコンパイル済みのSQL文は無効になります。

    無効になったプリコンパイルしたSQL文を格納したPreparedStatementクラス又はCallableStatementクラスのオブジェクトでSQL文を実行するとエラーになります。エラーとなる例を次に示します。

      PreparedStatement pstmt1 = con.prepareStatement("lock table tb1");
      PreparedStatement pstmt2 = con.prepareStatement("lock table tb2");
      pstmt1.execute();  //エラーになりません。
      con.commit();
      pstmt2.execute();  //エラーになります。
      pstmt1.close();
      pstmt2.close();

    この例では,実行するSQL文がLOCK文であるため,STATEMENT_COMMIT_BEHAVIORにTRUEを指定していても,コミット後はPreparedStatementが無効となって,エラーが発生します。

  • HIRDB_CURSORにTRUEを指定した場合,JDBCドライバはHiRDBのホールダブルカーソル機能を使用します。

  • HIRDB_CURSORにTRUEを指定した場合,結果集合返却機能を使用してプロシジャが返却する結果集合のカーソル動作モードは,プロシジャの定義によって決まります。ただし,JDBCドライバではプロシジャのカーソル動作モードを検知できないため,HIRDB_CURSORに指定された動作モードと仮定して動作します。そのため,HIRDB_CURSORがTRUEであっても,プロシジャが返却する結果集合のカーソル動作モードがホールダブルカーソルでない場合,コミット後のデータベースアクセスはSQLExceptionとなります。コミット後のResultSetオブジェクトの状態を次に示します。

    プロシジャが返却する結果集合

    HIRDB_CURSORの設定値

    TRUE

    FALSE

    ホールダブルカーソルである

    コミット後も使用可能

    コミット後の操作でデータベースアクセスを伴う場合はエラーとなる

    ホールダブルカーソルでない

    コミット後の操作でデータベースアクセスを伴う場合はエラーとなる

    コミット後の操作でデータベースアクセスを伴う場合はエラーとなる

注※

コミット時にカーソルがクローズされないため,ResultSetオブジェクトのクローズ,若しくはResultSetオブジェクトを生成したCallableStatementオブジェクト又はConnectionオブジェクトをクローズするまでカーソルは開いたままとなります。

<HIRDB_CURSOR及びSTATEMENT_COMMIT_BEHAVIORの組み合わせ>

コミット実行後にResultSetオブジェクト及びステートメントオブジェクトが有効になるかどうかを,HIRDB_CURSOR,STATEMENT_COMMIT_BEHAVIORの組み合わせごとに次の表に示します。

表17‒5 コミット実行後のResultSetオブジェクト及びステートメントオブジェクトの状態

STATEMENT_COMMIT_BEHAVIORの指定値

HIRDB_CURSORの指定値

TRUE

FALSE

TRUE

ResultSetオブジェクト:

有効

ステートメントオブジェクト:

有効

ResultSetオブジェクト:

無効

ステートメントオブジェクト:

有効

FALSE

ResultSetオブジェクト:

無効

ステートメントオブジェクト:

無効

また,DatabaseMetaDataのメソッドの戻り値を,HIRDB_CURSOR,STATEMENT_COMMIT_BEHAVIORの組み合わせごとに次の表に示します。

表17‒6 DatabaseMetaDataのメソッドの戻り値

STATEMENT_COMMIT_BEHAVIORの指定値

HIRDB_CURSORの指定値

TRUE

FALSE

TRUE

supportsOpenStatementsAcrossCommit:

true

supportsOpenCursorsAcrossCommit:

true

supportsOpenStatementsAcrossCommit:

true

supportsOpenCursorsAcrossCommit:

false

FALSE

supportsOpenStatementsAcrossCommit:

false

supportsOpenCursorsAcrossCommit:

false

<コミット実行時のJDBCドライバの動作例>

コミット実行時のJDBCドライバの動作は,HIRDB_CURSOR及びSTATEMENT_COMMIT_BEHAVIORの指定によって異なります。

指定例
[A]
pstmt1=con.prepareStatement("select c1 from tb1");  [1]
[B]
rs1=pstmt1.executeQuery();                          [2]
[C]
rs1.next()                                          [3]
[D]
v1=rs1.getInt(1)                                    [4]
[E]
rs1.next()                                          [5]
[F]
v1=rs1.getInt(1)                                    [6]
[G]
rs1.close()                                         [7]
コミット実行時の動作

コミットのタイミング

H=T,S=T※1

H=F,S=T※2

H=F,S=F※3

[A]

[1]〜[7]は正常に動作します。

[B]

[1]〜[7]は正常に動作します。

[1],[2],[7]:正常に動作します。

[3]〜[6]:SQLExceptionを投入します。

[C]

[1]〜[7]は正常に動作します。

[1],[2],[7]:正常に動作します。

[3]〜[6]:SQLExceptionを投入します。

[D]

[1]〜[7]は正常に動作します。

[1]〜[3],[7]:正常に動作します。

[4]〜[6]:SQLExceptionを投入します。

[E]

[1]〜[7]は正常に動作します。

[1]〜[4],[7]:正常に動作します。

[5],[6]:SQLExceptionを投入します。

[F]

[1]〜[7]は正常に動作します。

[1]〜[5],[7]:正常に動作します。

[6]:SQLExceptionを投入します。

[G]

[1]〜[7]は正常に動作します。

注※1 HIRDB_CURSORにTRUE,STATEMENT_COMMIT_BEHAVIORにTRUEを指定した場合を示します。

注※2 HIRDB_CURSORにFALSE,STATEMENT_COMMIT_BEHAVIORにTRUEを指定した場合を示します。

注※3 HIRDB_CURSORにFALSE,STATEMENT_COMMIT_BEHAVIORにFALSEを指定した場合を示します。

<そのほかの注意事項>

クライアント環境定義PDDDLDEAPRPについての注意事項は,「クライアント環境定義の設定内容」を参照してください。

また,DECLARE CURSORのホールダブルカーソルについての規則は,マニュアル「HiRDB SQLリファレンス」を参照してください。

(2) ユーザプロパティ

DriverManagerクラスのgetConnectionメソッドに指定できるプロパティを次の表に示します。なお,プロパティの指定値がナル値の場合,指定を省略したものとして扱われます。

表17‒7 getConnectionメソッドに指定できるプロパティ

プロパティ

指定内容

user

認可識別子

password

パスワード

UAPNAME

UAP識別子

JDBC_IF

JDBCインタフェースメソッドトレースの取得の有無

TRC_NO

JDBCインタフェースメソッドトレースのエントリ数

ENCODELANG

接続先のHiRDBの文字コードに対応する変換文字セット

SQLWARNING_IGNORE

データベースから返される警告をConnectionオブジェクトで保持するかどうか

HIRDB_CURSOR

カーソル動作モード

LONGVARBINARY_ACCESS

JDBC SQLタイプLONGVARBINARY(HiRDBのデータ型であるBLOB型,及びBINARY型)のデータへのアクセス方法

HiRDB_for_Java_SQL_IN_NUM

実行するSQLの入力?パラメタの最大数

HiRDB_for_Java_SQL_OUT_NUM

実行するSQLの出力項目の最大数

HiRDB_for_Java_SQLWARNING_LEVEL

SQL実行時に発生した警告情報の保持レベル

HiRDB_for_Java_ENV_VARIABLES

HiRDBクライアント環境変数

HiRDB_for_Java_STATEMENT_COMMIT_BEHAVIOR

ステートメントのコミット実行後の状態

HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZE

HiRDBサーバに対して一度に要求するJDBC SQLタイプLONGVARBINARY型データの長さ

HiRDB_for_Java_MAXBINARYSIZE

JDBC SQLタイプLONGVARBINARY型データ取得時のデータサイズの上限

HiRDB_for_Java_LONGVARBINARY_TRUNCERROR

JDBC SQLタイプLONGVARBINARY型データ取得時に切り捨てが発生した場合に,例外を投入するかどうか

HiRDB_for_Java_STATEMENT_CLOSE_BEHAVIOR

ステートメント(Statementクラス,PreparedStatementクラス,及びCallableStatementクラス)のcloseメソッド実行時に前処理結果を無効にするかどうか

HiRDB_for_Java_DBID

接続付加情報

HiRDB_for_Java_DBHOST

ホスト名称

HiRDB_for_Java_HiRDB_INI

HiRDB.iniファイルのディレクトリパス

HiRDB_for_Java_BATCHEXCEPTION_BEHAVIOR

JDBC規格に準拠した更新カウントを設定するかどうか

HiRDB_for_Java_UPDATECOUNT_BEHAVIOR

ステートメントの更新カウントがJDBC規格に準拠するかどうか

(a) user

認可識別子を指定します。

指定値がナル値の場合は,認可識別子の指定がないものとみなされます。長さ0の文字列の場合は,SQLExceptionを投入します。

この指定を省略した場合,getConnectionメソッドの引数Properties中の,HiRDB_for_Java_ENV_VARIABLESで指定したHiRDBクライアント環境定義のPDNAMEPORT,又はURL中のDBIDに指定したHiRDB環境変数グループ内のPDUSERの指定値が有効となります。指定の優先順位については,「接続情報の優先順位」を参照してください。

どちらも指定されていない場合は,getConnectionメソッド実行時にSQLExceptionを投入します。

なお,内部ドライバの場合は,このプロパティの指定は無効です。

(b) password

パスワードを指定します。

指定値がナル値の場合又は長さが0の場合は,パスワードの指定がないものとみなされます。

この指定を省略した場合については,「接続情報の優先順位」を参照してください。

なお,内部ドライバの場合は,このプロパティの指定は無効です。

(c) UAPNAME

HiRDBサーバに対してアクセスする,UAPの識別情報(UAP識別子)を指定します。

次の場合は,認可識別子の指定がないものとみなされます。

  • ナル値を指定した場合

  • 長さ0の文字列,又は半角スペースだけの文字列を指定した場合

指定できる文字列の詳細については,「クライアント環境定義の設定内容」のクライアント環境定義PDCLTAPNAMEを参照してください。

この指定を省略した場合については,「接続情報の優先順位」を参照してください。

なお,内部ドライバの場合は,このプロパティの指定は無効です。

《注意事項》

このプロパティで指定したUAPは,ENCODELANGで指定された変換文字セットでエンコードされ,エンコード後のUAP識別子の先頭から30バイトがHiRDBサーバに転送されます(30バイト目が文字の途中であっても,30バイトまでで打ち切られます)。そのため,HiRDBサーバで取得できるUAP識別子は,エンコード後の先頭30バイトまでです。

(d) JDBC_IF

JDBCインタフェースメソッドトレースの取得の有無を指定します。

ON:JDBCインタフェースメソッドトレースを取得します。

OFF:JDBCインタフェースメソッドトレースを取得しません。

この指定を省略した場合,OFFが仮定されます。

また,これらの値以外を指定すると,SQLExceptionを投入します。

なお,次に示す場合,このプロパティの指定は無効です。

  • setLogWriterメソッドで有効なログライタを指定していない場合

  • 内部ドライバの場合

JDBCインタフェースメソッドトレースの詳細は,「JDBCインタフェースメソッドトレース」を参照してください。

(e) TRC_NO

   〜<符号なし整数>((10〜1000))《500》

JDBCインタフェースメソッドトレースのエントリ数を指定します。

このプロパティは,次の条件をすべて満たしている場合に有効になります。

  • setLogWriterメソッドで有効なログライタを設定している。

  • JDBC_IFにONを指定している。

なお,内部ドライバの場合は,このプロパティの指定は無効です。

プロパティの指定が有効な状態で,かつ指定値が不正な場合は,SQLExceptionを投入します。

JDBCインタフェースメソッドトレースの詳細は,「JDBCインタフェースメソッドトレース」を参照してください。

(f) ENCODELANG

StringクラスでHiRDBとのデータ受け渡しをする場合に,接続先のHiRDBの文字コードに対応する変換文字セットを指定します。

指定できる変換文字セットは,「Java 2 SDK, Standard Editionドキュメント」の「国際化」で示されるエンコーディング一覧から選択してください。

HiRDBの文字コードと対応する変換文字セットは,「HiRDBの文字コードと対応する変換文字セット」を参照してください。

OFFを指定すると,HiRDBの文字コードに対して「HiRDBの文字コードと対応する変換文字セット」の変換文字セットが指定されたものとして動作します。なお,HiRDBの文字コードがsjisの場合,JDBCドライバが動作するOSによって変換文字セットは次のようになります。

UNIXの場合:SJIS

Windowsの場合:MS932

また,OFF以外の指定値は大文字と小文字を区別するため,注意してください。

Java仮想マシンがサポートしていない変換文字セット名称を指定した場合は,HiRDBサーバとの接続時にSQLExceptionを投入します。

この指定を省略した場合,JDBCドライバはURL中のENCODELANGで指定した変換文字セットで文字の変換をします。

(g) SQLWARNING_IGNORE

データベースから返される警告をConnectionオブジェクトで保持するかどうかを指定します。

TRUE:警告を保持しません。

FALSE:警告を保持します。

この指定を省略した場合,URL中のSQLWARNING_IGNOREで指定した値が有効になります。TRUE又はFALSE以外を指定すると,SQLExceptionを投入します。

Connectionオブジェクトの警告保持は,このプロパティと,HiRDB_for_Java_SQLWARNING_LEVELの指定値で決定します。警告保持レベルについては,「SQLWarningオブジェクトの生成条件」を参照してください。なお,このプロパティでは,指定した内容について大文字と小文字を区別しません。

(h) HIRDB_CURSOR

HiRDBがコミットした場合に,ResultSetクラスのオブジェクトを有効とするかどうか(カーソル動作モード)を指定します。

TRUE:コミットした場合でも,ResultSetクラスのオブジェクトを有効とします。

FALSE:コミットした場合,ResultSetクラスのオブジェクトを無効とします。

この指定を省略した場合,URL中のHIRDB_CURSORで指定した値が有効になります。TRUE又はFALSE以外を指定すると,SQLExceptionを投入します。

また,無効となったResultSetオブジェクトでcloseメソッド呼び出し以外の操作をした場合,SQLExceptionを投入します。

《注意事項》

このプロパティを指定するときの注意事項については,「HIRDB_CURSOR及びSTATEMENT_COMMIT_BEHAVIOR指定時の注意事項」を参照してください。

(i) LONGVARBINARY_ACCESS

JDBC SQLタイプLONGVARBINARY(HiRDBのデータ型であるBLOB型,及びBINARY型)のデータへのアクセス方法を指定します。

REAL:実データでアクセスします。

LOCATOR:HiRDBの位置付け子機能を使用してアクセスします。

ただし,定義長が1,024バイト以下のBINARY列へのアクセス時は,実データでアクセスします。

この指定を省略した場合,REALが仮定されます。

また,これらの値以外を指定すると,SQLExceptionを投入します。

《注意事項》

LONGVARBINARY_ACCESS指定時の注意事項を次に示します。

<HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZEと併せて指定した場合の注意事項>

HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZE,及びLONGVARBINARY_ACCESSの指定による,BLOB型又はBINARY型データ(HiRDBのデータ型)の取得方法の違いを次の表に示します。

表17‒8 BLOB型又はBINARY型データ(HiRDBのデータ型)の取得方法の違い

実行メソッド

LONGVARBINARY_ACCESSの指定値

REAL

LOCATOR

CallableStatement.execute

ResultSet.next

BLOB型又はBINARY型データの全体を,接続先DBから取得します。

BLOB型又はBINARY型データの全体ではなく,接続先DB内のBLOB型又はBINARY型データを示す位置付け子を取得します。

CallableStatement.getBytes

CallableStatement.getString

CallableStatement.getObject

ResultSet.getBytes

ResultSet.getString

ResultSet.getObject

ResultSet.nextで取得したBLOB型又はBINARY型データを使用します。

BLOB型又はBINARY型データの全体を,接続先DBからACCESSSIZE×1024バイト単位に分割して取得します。

Blob.getBytes

ResultSet.nextで取得したBLOB型又はBINARY型データから,引数で指定された範囲を切り出して取得します。

引数で指定された範囲のBLOB型又はBINARY型データを,接続先DBからACCESSSIZE×1024バイト単位に分割して取得します。

CallableStatement.getBinaryStream

ResultSet.getBinaryStream

ResultSet.getAsciiStream

ResultSet.getUnicodeStream

Blob.getBinaryStream

実行メソッドによって取得したInputStreamのreadメソッドを実行した場合,ResultSet.nextで取得したBLOB型又はBINARY型データから抽出して取得します。

実行メソッドによって取得したInputStreamのreadメソッドを実行した場合,接続先DBからデータを取得します。

Blob.length

ResultSet.nextで取得したBLOB型又はBINARY型データからデータ長を取得します。

接続先DBからデータ長を取得します。

Blob.position

ResultSet.nextで取得したBLOB型又はBINARY型データから,検索パターンに一致する位置を取得します。

接続先DBから,検索パターンに一致する位置を取得します。

CallableStatement.getBinaryStream,ResultSet.getBinaryStream,Blob.getBinaryStreamで取得したInputStream

InputStream.available

位置付け子が示す実データの長さ以下の値を返却します。

ACCESSSIZE×1024バイト以下の値を返却します。

InputStream.skip

位置付け子が示す実データの長さ以下までの範囲で読み飛ばします。

最大ACCESSSIZE×1024バイト以下で読み飛ばします。

CallableStatement.getCharacterStream

ResultSet.getCharacterStream

getCharacterStreamによって取得したReaderのreadメソッドを実行した場合,ResultSet.nextで取得したBLOB型又はBINARY型データから抽出して取得します。

getCharacterStreamによって取得したReaderのreadメソッドを実行した場合,接続先DBからデータを取得します。

(凡例)

ACCESSSIZE:HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZEの指定値を示します。

InputStream及びReader:JDBCドライバのgetBinaryStream,getAsciiStream,getCharacterStreamが返したオブジェクトのクラスを示します。

注※ 定義長が1,024バイト以下のBINARY列へのアクセス時は,"REAL"が指定されたものとして動作します。

<実行性能に関する注意事項>

LONGVARBINARY_ACCESSに"LOCATOR"を指定すると,"REAL"を指定した場合に比べて性能が低下するおそれがあります。

"REAL"を指定した場合,ResultSet.next時又はCallableStatement.execute時に位置付け子を取得するために1回接続先DBにアクセスします。それに対して"LOCATOR"を指定すると,ResultSet.next時又はCallableStatement.execute時のアクセス1回に加えて,getBytesなどのデータを取得するメソッド実行時などにデータ長取得のために1回,データ取得のために1回以上接続先DBにアクセスします。

<AUTOコミットが有効な場合の注意事項>

AUTOコミットが有効な場合でも,次のタイミングではコミットを実行しません。

  • LONGVARBINARY_ACCESSに"LOCATOR"を指定し,次のどちらかに該当する出力パラメタを指定しているストアドプロシジャの実行

    ・出力パラメタが1,024バイトより大きいサイズのBINARY型

    ・出力パラメタがBLOB型

  • 結果集合返却機能を使用したストアドプロシジャの実行

<トランザクション終了後のデータ操作に間する注意事項>

LONGVARBINARY_ACCESSに"LOCATOR"を指定した場合,SQLの実行結果取得(ResultSet.next,又はCallableStatement.execute)からデータ操作(Blob.getBytesやInputStream.readなど)までにトランザクションが終了すると,データ操作ができません。また,HIRDB_CURSORの指定が"TRUE"であっても,トランザクション終了後のデータ操作は実行できません。

そのため,データ操作はトランザクション終了前に実行してください。

(j) HiRDB_for_Java_SQL_IN_NUM

   〜<符号なし整数>((1〜30000))《300》

実行するSQLの入力?パラメタの最大数を指定します。

この指定は,SQLの前処理時に取得する入力?パラメタ情報の数となります。実際の入力?パラメタの数がこのプロパティの指定値よりも多い場合,JDBCドライバはSQLの前処理の後にHiRDBサーバから入力?パラメタ情報を取得します。

指定値が不正な場合は,SQLExceptionを投入します。

《注意事項》

入力?パラメタのあるSQL文を実行しない場合は,1を指定することを推奨します。

(k) HiRDB_for_Java_SQL_OUT_NUM

   〜<符号なし整数>((1〜30000))《300》

実行するSQLの出力項目の最大数を指定します。

この指定は,SQLの前処理時に取得する出力項目情報の数となります。実際の出力項目情報の数がこのプロパティの指定値よりも多い場合,JDBCドライバはSQLの前処理の後にHiRDBサーバから出力項目情報を取得します。

指定値が不正な場合は,SQLExceptionを投入します。

《注意事項》

出力項目のあるSQL文を実行しない場合は,1を指定することを推奨します。

(l) HiRDB_for_Java_SQLWARNING_LEVEL

SQL実行時に発生した警告情報の保持レベルを指定します。警告情報の保持レベルの詳細については,「SQLWarningオブジェクトの生成条件」を参照してください。

IGNORE:警告情報をIGNOREレベルで保持します。

SQLWARN:警告情報をSQLWARNレベルで保持します。

ALLWARN:警告情報をALLWARNレベルで保持します。

この指定を省略した場合,"SQLWARN"が仮定されます。

指定値が不正な場合は,SQLExceptionを投入します。

(m) HiRDB_for_Java_ENV_VARIABLES

HiRDBクライアント環境定義を指定します。次のように指定してください。

  変数名=値;変数名=値; ..<省略>.. ;変数名=値

JDBCドライバで指定できるクライアント環境定義は,「指定できるクライアント環境定義」を参照してください。変数名にJDBCドライバで指定できないクライアント環境定義が指定された場合,指定を無視します。なお,変数名は大文字と小文字を区別するため,注意してください。

複数の設定方法を持つ接続情報の優先順位については,「接続情報の優先順位」を参照してください。

《指定例》
java.util.Properties prop;
prop=new java.util.Properties();
prop.setProperty("HiRDB_for_Java_ENV_VARIABLES",
 "PDFESHOST=FES1;PDCWAITTIME=0");

(n) HiRDB_for_Java_STATEMENT_COMMIT_BEHAVIOR

HiRDBがコミットした場合に,ステートメントのオブジェクトをコミット実行後も有効とするかどうかを指定します。

TRUE:コミットした場合でも,ステートメントのオブジェクトを有効とします。

FALSE:コミットした場合,ステートメントのオブジェクトを無効とします。

なお,コミット実行後に無効とするのは,ConnectionクラスのprepareStatementメソッドでプリコンパイルしたSQL文,ConnectionクラスのprepareCallメソッドでプリコンパイルしたSQL文,又はステートメントのexecuteQueryメソッドで取得したResultSetクラスのオブジェクトです。

この指定を省略した場合,URL中のSTATEMENT_COMMIT_BEHAVIORで指定した値が有効になります。

《注意事項》

このプロパティを指定するときの注意事項については,「HIRDB_CURSOR及びSTATEMENT_COMMIT_BEHAVIOR指定時の注意事項」を参照してください。

(o) HiRDB_for_Java_LONGVARBINARY_ACCESS_SIZE

   〜<符号なし整数>((0〜2097151))《0》(単位:キロバイト)

HiRDBサーバに対して一度に要求するJDBC SQLタイプLONGVARBINARY型データの長さを指定します。LONGVARBINARY_ACCESSでLOCATOR以外を指定している場合,この指定は無効です。

例えば,このプロパティに20を指定した場合,データベースに格納している100キロバイトのJDBC SQLタイプLONGVARBINARY型データをResultSetのgetBytesメソッドで取得しようとすると,JDBCドライバはデータを20キロバイトずつ5回に分けて取得し,返却します。0の場合はデータ全体を一度に要求します。

指定値が不正な場合は,SQLExceptionを投入します。

《注意事項》

このプロパティを指定するときの注意事項については,「LONGVARBINARY_ACCESS」を参照してください。

(p) HiRDB_for_Java_MAXBINARYSIZE

   〜<符号なし整数>((0〜2147483647))(単位:バイト)

JDBC SQLタイプLONGVARBINARY型データ取得時のデータサイズの上限を指定します。

JDBC SQLタイプLONGVARBINARY型データを取得する際,JDBCドライバはデータを取得するまで実際のデータ長を認識できないため,定義長分のメモリを確保します。そのため,定義長にHiRDBのデータ型であるBINARY型又はBLOB型の最大長である2,147,483,647バイトのように長大なサイズを指定した列の値を取得する場合は,その定義長である2,147,483,647バイトのメモリを確保しようとします。そのため,実行環境によってはメモリ不足が発生することがあります。

したがって,このプロパティで,実際に格納されているデータの最大長を指定してください。取得対象となるHiRDBのデータ型であるBINARY型又はBLOB型データの定義長が,このプロパティで指定したサイズよりも大きい場合,取得データをこのプロパティで指定したサイズに切り捨てます。実際にデータを切り捨てた場合,ResultSetのnextメソッド実行時に,JDBCドライバはHiRDBサーバから警告を受け取ります。受け取った警告に対しては,setLONGVARBINARY_TruncErrorの指定値に従ってSQLExceptionの投入,SQLWarningの生成(又は無視)をします。

このプロパティで上限を設定していない場合は,取得対象データの定義長を上限とします。

指定値が不正な場合は,SQLExceptionを投入します。

《注意事項》

LONGVARBINARY_ACCESSに"LOCATOR"を指定し,BLOB列又は定義長が1,024バイトより大きいBINARY列にアクセスする場合は,このプロパティの指定値は無効です。実際のデータ長に基づいて領域を確保し,全データを取得します。

(q) HiRDB_for_Java_LONGVARBINARY_TRUNCERROR

JDBC SQLタイプLONGVARBINARY型データ取得時に切り捨てが発生した場合に,例外を投入するかどうかを指定します。

TRUE:切り捨てが発生した場合に例外を投入します。

FALSE:切り捨てが発生した場合に例外を投入しません。

この指定を省略した場合,TRUEが仮定されます。

HiRDB_for_Java_SQLWARNING_LEVELにIGNOREを指定している場合は,FALSEが指定されたものとして動作します。

なお,JDBC SQLタイプLONGVARBINARY型データ取得時に発生する切り捨てとは,次の条件を満たしている場合を指します。

SQLの実行で得られるJDBC SQLタイプLONGVARBINARY型データの実際の長さ > HiRDB_for_Java_MAXBINARYSIZEで指定したデータ長

(r) HiRDB_for_Java_STATEMENT_CLOSE_BEHAVIOR

ステートメントオブジェクト又はResultSetオブジェクトを,コミット後も有効にする指定をしている場合※1,ステートメント(Statementクラス,PreparedStatementクラス,及びCallableStatementクラス)のcloseメソッド実行時に前処理結果を無効にするかどうかを指定します。

なお,システムプロパティのHiRDB_for_Java_STATEMENT_CLOSE_BEHAVIORでも指定できます。

サーバがXDM/RD E2の場合,この指定は無効になります。

TRUE:前処理結果を無効にします。

FALSE:前処理結果を無効にしません。

指定値が不正な場合は,SQLExceptionを投入します。

このプロパティは,指定した内容について大文字と小文字を区別しません。

また,この指定を省略した場合,URL中の項目STATEMENT_CLOSE_BEHAVIORの指定値が有効になります。URL中に指定がない場合は,FALSEが指定されたものとして動作します。

クライアント環境変数PDDDLDEAPRP,及びPDDDLDEAPRPEXEにNOを指定した場合,SQL(SELECT文,INSERT文,DELETE文,UPDATE文,PURGE TABLE文,CALL文)を実行したとき,SQLがアクセスするスキーマ資源(表やインデクスなど)に対して,ほかのユーザが定義系SQLを実行すると,定義系SQLは排他待ちの状態になります。この排他待ち状態を解除する契機を次に示します。なお,TRUEを指定すると,コミット実行時に解除できます。

  • ステートメントオブジェクト又はResultSetオブジェクトを,コミット後も有効にする指定をしている場合

    • TRUEを指定したとき

      ステートメントclose後のコミット実行時※2,又はコネクション切断時

    • FALSEを指定したとき

      コネクション切断時

  • その他の場合

    コミット実行時※2,又はコネクション切断時

注※1

次のどれかになります。

  1. getConnectionメソッドで指定するプロパティ中の次の項目にTRUEを設定している。

    HIRDB_CURSOR

    HiRDB_for_Java_STATEMENT_COMMIT_BEHAVIOR

  2. getConnectionメソッドで指定するURL中の次の項目にTRUEを設定している。

    HIRDB_CURSOR

    STATEMENT_COMMIT_BEHAVIOR

  3. PrdbDataSourceクラス,PrdbConnectionPoolDataSourceクラス,又はPrdbXADataSourceクラスの次のメソッドでtrueを設定している。

    setHiRDBCursorMode

    setStatementCommitBehavior

  4. Connection.setHoldability(引数にResultSet.HOLD_CURSORS_OVER_COMMIT指定)メソッドを実行している。

  5. Connectionクラスの次のメソッド(引数resultSetHoldabilityにResultSet.HOLD_CURSORS_OVER_COMMITを指定)を実行している。

    createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)

    prepareCall(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)

    prepareStatement(String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)

注※2

commitメソッドによる明示的なコミットのほかに,次の場合も該当します。

  • 自動コミットによる暗黙的なコミット

  • 定義系SQLの実行

  • PURGE TABLE文の実行

  • rollbackメソッドによる明示的なロールバック

  • SQL実行エラーによる暗黙的なロールバック

TRUEを指定,かつステートメントオブジェクト又はResultSetオブジェクトを,コミット後も有効にする指定をしている場合,ステートメントのclose時,HiRDBはトランザクションを生成してDEALLOCATE PREPARE処理を実行します。このため,クライアント環境変数PDSWAITTIMEを指定している場合,PDSWAITTIMEで指定した時間監視が開始されます。自動コミットを無効にしている場合,ステートメントのclose後,ほかのステートメントでのSQL実行や,コミット又はコネクション切断を長時間実行しないと,時間監視によってHiRDBは接続を切断します。

DEALLOCATE PREPARE処理とトランザクションの関係を次の図に示します。

図17‒1 DEALLOCATE PREPARE処理とトランザクションの関係

[図データ]

Java EEアプリケーションサーバのコネクションプーリング機能を使用している場合,アプリケーションからコネクションのcloseメソッドを呼び出しても,コネクションはプールに戻り,トランザクションは残ります。このため,TRUEを指定した場合は,ステートメントのclose後にコミットを実行する必要があります。

また,ステートメントプーリング機能を使用している場合,この指定を省略するか,FALSEを指定してください。

(s) HiRDB_for_Java_DBID

HiRDBのポート番号(PDNAMEPORTに当たる情報),又はHiRDBクライアントの環境変数グループファイル名を指定します。この指定の詳細については,「URLの各項目の説明」のDBIDの説明を参照してください。

(t) HiRDB_for_Java_DBHOST

HiRDBのホスト名称を指定します。この指定の詳細については,「URLの各項目の説明」のDBHOSTの説明を参照してください。

(u) HiRDB_for_Java_HiRDB_INI

HiRDB.iniファイル内に記述されているHiRDBクライアント環境変数を有効にする場合に,HiRDB.iniファイルが存在するディレクトリの絶対パスを指定します。ここで指定したディレクトリのHiRDB.iniファイルのHiRDBクライアント環境変数が有効になります。指定したディレクトリにHiRDB.iniファイルがない場合,及び内部ドライバの場合,この指定は無効になります。

また,この指定を省略した場合,URL中の項目HiRDB_INIの指定値が仮定されます。URL中に指定がない場合は,このファイルの内容を無視します。

(v) HiRDB_for_Java_BATCHEXCEPTION_BEHAVIOR

java.sql.BatchUpdateExceptionのgetUpdateCountsメソッドの戻り値に,JDBC規格に準拠した更新カウントを設定するかどうかを指定します。

なお,このプロパティの指定は,接続先がバージョン08-02以降のHiRDBの場合に有効です。

TRUE:JDBC規格に準拠した更新カウントを設定します。

FALSE:HiRDB独自の更新カウントを設定します。

このプロパティは,指定した内容について大文字と小文字を区別しません。

また,この指定を省略した場合,URL中の項目BATCHEXCEPTION_BEHAVIORの指定値が有効になります。URL中に指定がない場合は,TRUEが指定されたものとして動作します。

(w) HiRDB_for_Java_UPDATECOUNT_BEHAVIOR

更新系SQL発行時の更新行数が0の場合,java.sql.StatementのgetUpdateCountメソッドの戻り値として-1を返却するかどうかを指定します。

TRUE:更新系SQL発行時の更新行数が0の場合,-1を返却します(JDBC規格)。

FALSE:更新系SQL発行時の更新行数が0の場合,0を返却します。

このプロパティは,指定した内容について大文字と小文字を区別しません。

また,この指定を省略した場合,ほかの設定方法で指定した値が有効になります。ほかの設定方法については,「接続情報の優先順位」を参照してください。値が指定されていない場合は,FALSEが指定されたものとして動作します。