ページの先頭行へ戻る
Symfoware Server V12.1.x アプリケーション開発ガイド(JDBCドライバ編)
FUJITSU Software

5.2.4 symjddefdsコマンドによるJDBCデータソースの登録

symjddefdsコマンドを使用することで、GUIを表示しないで、JDBCデータソースを登録することができます。

symjddefdsコマンドでは、JDBCデータソース定義ファイルの内容を参照して、JDBCデータソースを登録します。

symjddefdsコマンドを使用した、JDBCデータソース登録の概要について説明します。

参照

symjddefdsコマンドの詳細については、“コマンドリファレンス”を参照してください。

5.2.4.1 JDBCデータソース定義ファイルとは

JDBCデータソース定義ファイルとは、symjddefdsコマンドを使用してJDBCデータソースを定義する際に使用する、任意のファイルです。接続先情報や、オプションを記入します。

jdbc:symford://myhost:26551/COMPANY;user=USER1;password=PASS1
             (1)                          (2)

(1) 接続先情報

(2) オプション

接続先情報の指定方法は、“5.2.4.2 接続先情報の設定”を参照してください。

オプションの指定方法は、“5.2.4.3 オプションの設定”を参照してください。

5.2.4.2 接続先情報の設定

JDBCデータソース定義ファイルで、JDBCデータソースの接続先を特定します。

指定方法は、データベースへの接続方法によって異なります。

記述形式

ローカルアクセスの場合
jdbc:symfold:///[<db_sys>.]<db_env>[;<options>]
リモートアクセス(RDB2_TCP連携)の場合
jdbc:symford://<host>:<port_no>/<db_env>[;<options>]
リモートアクセス(RDB2_TCPS連携)の場合
jdbc:symforsd://<host>:<port_no>/<db_env>[;<options>]
引数
<host>

接続するサーバの18バイト以内のホスト名またはIPアドレスを指定します。

省略することはできません。

<port_no>

リモートアクセスで使用するポート番号を指定します。

省略することはできません。

Symfoware Serverのバージョンレベルや対象のプラットフォームによって、デフォルトのポート番号が異なります。サーバ側で定義されているポート番号を確認の上、指定してください。ポート番号の詳細については、“2.1.1 コネクションの接続形態”を参照してください。

不明な場合は、システム管理者に確認してください。

<db_sys>

RDBシステム名を指定します。

このパラメタは、Symfoware/RDBにRDBシステム名を付けて運用する場合にだけ指定します。

RDBシステム名については、システム管理者に確認してください。

省略した場合は、RDBシステム名なしになります。

<db_env>

データ資源名を指定します。

データ資源名については、システム管理者に確認してください。

省略することはできません。

<options>

JDBCドライバのオプションを以下の形式で指定します。

記述形式
オプション名 = 指定する値

指定可能なオプションについては、“5.2.4.3 オプションの設定”を参照してください。

オプションは以下のような形式で複数指定することができます。

user=UID;password=PWD

記述例

ローカルアクセスの場合
jdbc:symfold:///COMPANY
リモートアクセス(RDB2_TCP連携)で、オプションにuser、passwordを指定する場合
jdbc:symford://myhost:26551/COMPANY;user=UID;password=PWD

注意

1つのJDBCデータソース定義ファイルに、複数の接続先情報は指定できません。接続先情報の違うJDBCデータソースを作成する場合は、JDBCデータソース定義ファイルを複数作成してください。

5.2.4.3 オプションの設定

JDBCドライバで指定可能なオプションは、以下のとおりです。

autoclosestatement

ステートメントキャッシュ機能の利用時に、PreparedStatementオブジェクトおよびCallableStatementオブジェクトのクローズをJDBCドライバが自動的に行うかどうかを指定します。

指定形式

autoclosestatement={ YES | NO }

省略時

autoclosestatement=NO

パラメタの意味

YES:ステートメントキャッシュ機能利用時に、PreparedStatementオブジェクトやCallableStatementオブジェクトを自動でクローズします。

NO :自動クローズは行いません。

注意

このオプションは、ステートメントキャッシュ数に1~32000が指定された場合に指定可能です。

実行した文の数が、オプションstatementcacheで設定されたキャッシュ数に達した場合、以降実行される文はキャッシュしませんが、自動クローズの対象にもなりません。

ctuneparam

ctuneparamオプションには、Symfoware Serverのクライアント用の動作環境ファイルに相当する指定をすることができます。詳細は、“5.2.3.4 ctuneparamオプションについて”を参照してください。

指定形式

ctuneparam=パラメタ名

パラメタの意味

ctuneparamオプションで指定するパラメタ

記述例
CLI_MAX_SQLとCLI_WAIT_TIMEを指定した場合
ctuneparam='CLI_MAX_SQL=(255);CLI_WAIT_TIME=(30)'

注意

ctuneparamオプションに複数のパラメタを指定する場合、値を“;”(セミコロン)で区切って設定します。

default_isolation

独立性水準の初期値を指定します。default_isolationが指定された場合、プロセスで最初に実行されるSQL文の直前でSET TRANSACTION文が実行されたことになります。

指定形式

default_isolation={READ_UNCOMMITTED | READ_COMMITTED | REPEATABLE_READ | SERIALIZABLE}

省略時

本オプションを省略した場合は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”のDEFAULT_ISOLATIONの優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

default_isolation=SERIALIZABLE

データベース簡単運用で、本実行パラメタの指定を省略した場合は、省略値として以下の値が設定されます。

default_isolation = READ COMMITTED

パラメタの意味
READ_UNCOMMITTED:

独立性水準の初期値をREAD UNCOMMITTEDとします。

READ_COMMITTED:

独立性水準の初期値をREAD COMMITTEDとします。

REPEATABLE_READ:

独立性水準の初期値をREPEATABLE READとします。

SERIALIZABLE:

独立性水準の初期値をSERIALIZABLEとします。

注意

  • ctuneparamオプションのCLI_R_LOCKまたは動作環境ファイルのR_LOCKがNOの場合、default_isolationまたはSET TRANSACTION文にREPEATABLE_READを指定しても、独立性水準はSERIALIZABLEになります。

  • ctuneparamオプションのCLI_R_LOCKまたは動作環境ファイルのR_LOCKがYESの場合、default_isolationまたはSET TRANSACTION文にSERIALIZABLEを指定しても、独立性水準は REPEATABLE READになります。

  • 動作環境ファイルのDSO_LOCKまたはctuneparamオプションのCLI_DSO_LOCKを指定して、default_isolationを指定した場合は、サーバ接続時にエラーが発生します。

default_readonly

トランザクションアクセスモードの初期値を指定します。default_readonlyが指定された場合、プロセスで最初に実行されるSQL文の直前でSET TRANSACTION文が実行されたことになります。

指定形式

default_readonly={ false | true }

省略時

本オプションを省略した場合は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”のDEFAULT_ACCESS_MODEの優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

default_readonly=false

パラメタの意味
false:

トランザクションアクセスモードの初期値をREAD WRITEとします。

true:

トランザクションアクセスモードの初期値をREAD ONLYとします。

注意

ctuneparamオプションのCLI_DSO_LOCKまたは動作環境ファイルのDSO_LOCKを指定して、default_readonlyを指定した場合は、サーバ接続時にエラーが発生します。

javaconverter

JDBCドライバがコード変換時に使用する、Javaのエンコーディングを指定します。

指定形式

javaconverter=エンコーディング名

省略時

クライアント用の動作環境ファイルのJAVA_CONVERTERパラメタの指定に従います。

JAVA_CONVERTERパラメタが指定されなかった場合は、JDBCドライバが動作しているJava実行環境に合わせて、自動設定されます。

パラメタの意味

JDBCドライバがコード変換時に使用する、Javaのエンコーディングを指定します。

Java VMでサポートされているエンコーディング名を指定してください。

アプリケーション実行環境のロケールがCで、ASCIIコード範囲外の文字データを利用する場合、javaconverterオプションで、対象データのエンコーディングを指定してください。

lang

JDBCドライバで返却するエラーメッセージの言語を指定します。

指定形式

lang={ JA | EN }

省略時

日本語のOS環境で本オプションが省略された場合、JAが指定されたとみなします。

その他のOS環境で本オプションが省略された場合、ENが指定されたとみなします。

パラメタの意味

JDBCドライバで返却するエラーメッセージの言語を指定します。

JAが指定された場合、日本語のエラーメッセージを出力します。

ENが指定された場合、英語のエラーメッセージを出力します。

lowercasename

列名に全角小文字を使用していて、ResultSet.getXXXメソッドを使用する場合に、指定した列名を正しく認識させるために指定します。

指定形式

lowercasename={ YES | NO }

省略時

クライアント用の動作環境ファイルのLOWERCASE_NAMEパラメタの指定に従います。

LOWERCASE_NAMEパラメタが指定されなかった場合は、以下の値が設定されます。

LOWERCASE_NAME =(NO)

パラメタの意味

YES:Symfoware/RDBの表定義で、列名に全角小文字を使用している場合に指定します。

NO:Symfoware/RDBの表定義で、列名に全角小文字を使用していない場合に指定します。

maxconnections

データソースごとに、同時に接続可能なコネクション数の上限を指定します。

指定形式

maxconnections=最大コネクション数

省略時

maxconnections=256

パラメタの意味

データソースごとに、同時に接続可能なコネクション数の上限を、1~2147483647の範囲で指定します。

注意

maxconnectionsオプションは、DataSourceインタフェースを利用した接続で、利用可能です。

maxpooledconnections

データソースごとに、再利用可能なコネクション数の上限を指定します。

指定形式

maxpooledconnections=最大プールコネクション数

省略時

maxpooledconnections=256

パラメタの意味

データソースごとに、再利用可能なコネクション数の上限を、0~2147483647の範囲で指定します。

0を指定した場合、コネクションは再利用されずに切断されます。

1以上を指定した場合、Connectionインタフェースのcloseメソッドを実行しても、データベースとの接続は切断されません。コネクションは再利用可能な状態になります。

ただし、maxpooledconnectionsオプションの指定値を超えるコネクションは、切断されます。

注意

maxconnectionsオプションに指定された値よりも大きい値は指定できません。

maxpooledconnectionsオプションは、DataSourceインタフェースを利用した接続で、利用可能です。

password

データベースに接続するためのパスワードを指定します。

省略した場合、getConnectionメソッドの引数に、必ず指定してください。

ただし、以下の場合、パスワードの指定は不要です。

指定形式

password=パスワード

schema

アプリケーション内で使用する、SQL文に対するデフォルトスキーマ名を指定します。

指定形式

schema=スキーマ名

省略時

デフォルトスキーマ名なし

statementcache

ステートメントキャッシュ機能でキャッシュする、文の上限を指定します。

指定形式

statementcache=キャッシュ数

省略時

statementcache=32

パラメタの意味

ステートメントキャッシュ機能でキャッシュするSQL文の上限を、0~32000の範囲で指定します。

0を指定した場合、ステートメントキャッシュ機能は無効になり、SQL文はキャッシュされません。

キャッシュする文の数の見積りは、以下となります。

キャッシュする文の数 =
  prepareStatementメソッドまたは、
  prepareCallメソッドで指定するSQL文の数

注意

同じSQL文でも以下の場合は別のSQL文として計算してください。

  • 大文字と小文字の違いがある場合

  • 結果セットのタイプが異なる場合

  • 結果セットの並行処理のタイプが異なる場合

user

データベースに接続するためのユーザIDを指定します。

省略した場合、getConnectionメソッドの引数に、必ず指定してください。

ただし、以下の場合、ユーザIDの指定は不要です。

指定形式

user=ユーザID

sqlrtenv

クライアント用の動作環境ファイルを指定します。

指定形式

sqlrtenv =クライアント用の動作環境ファイル名

省略時

以下のパスが指定されたとみなします。

Windowsクライアントインストール先¥etc¥clientenv¥fssqlenvj
Solaris/opt/FJSVsymcl/etc/clientenv/fssqlenvj
Linux/opt/FJSVsymcl/etc/clientenv/fssqlenvj
パラメタの意味

クライアント用の動作環境ファイル名:

クライアント用の動作環境ファイル名は、絶対パスで指定します。

finalizeswitch

Java VMのガーベジコレクションが動作し、オブジェクトが破棄された契機で、JDBCドライバ内部でcloseメソッドを実行し、データベース上の資源を回収するかどうかを選択します。

指定形式

finalizeswitch={ ON | OFF }

省略時

finalizeswitch=OFF

パラメタの意味
ON:

finalizeメソッドの延長でcloseメソッドを実行します。

OFF:

finalizeメソッドの延長でcloseメソッドを実行しません。

注意

ONが指定された場合、Java VMのガーベジコレクションの延長で、JDBCドライバの資源を回収します。ただし、資源の回収は、SQL文が実行されていない契機に実行します。長時間SQL文を実行するようなアプリケーションの場合、Java VMによる回収処理が待たされてしまい、メモリ不足の状態が発生する場合があります。また、資源回収中は、SQL文の実行が待ち状態になります。上記の待ち状態の影響で、アプリケーションのレスポンス性能が遅延する場合があります。

oddstringtoblob

setStringでBLOB列に対して奇数バイトのデータが指定されたとき、データの異常を通知するためにエラー復帰するかどうかを選択します。

指定形式

oddstringtoblob={ ERRORMESSAGE | CUTLASTCHAR }

省略時

oddstringtoblob= ERRORMESSAGE

パラメタの意味
ERRORMESSAGE:

setStringでBLOB列に対して奇数バイトのデータが指定されたとき、アプリケーションにエラー復帰します。

CUTLASTCHAR:

setStringでBLOB列に対して奇数バイトのデータが指定されたとき、指定されたデータの後方1バイトを削除し、データを追加します。