symjddefdsコマンドを使用することで、GUIを表示しないで、JDBCデータソースを登録することができます。
symjddefdsコマンドでは、JDBCデータソース定義ファイルの内容を参照して、JDBCデータソースを登録します。
symjddefdsコマンドを使用した、JDBCデータソース登録の概要について説明します。
参照
symjddefdsコマンドの詳細については、“コマンドリファレンス”を参照してください。
JDBCデータソース定義ファイルとは、symjddefdsコマンドを使用してJDBCデータソースを定義する際に使用する、任意のファイルです。接続先情報や、オプションを記入します。
jdbc:symford://myhost:26551/COMPANY;user=USER1;password=PASS1 (1) (2)
(1) 接続先情報
(2) オプション
接続先情報の指定方法は、“5.2.4.2 接続先情報の設定”を参照してください。
オプションの指定方法は、“5.2.4.3 オプションの設定”を参照してください。
JDBCデータソース定義ファイルで、JDBCデータソースの接続先を特定します。
指定方法は、データベースへの接続方法によって異なります。
記述形式
jdbc:symfold:///[<db_sys>.]<db_env>[;<options>]
jdbc:symford://<host>:<port_no>/<db_env>[;<options>]
jdbc:symforsd://<host>:<port_no>/<db_env>[;<options>]
接続するサーバの18バイト以内のホスト名またはIPアドレスを指定します。
省略することはできません。
リモートアクセスで使用するポート番号を指定します。
省略することはできません。
Symfoware Serverのバージョンレベルや対象のプラットフォームによって、デフォルトのポート番号が異なります。サーバ側で定義されているポート番号を確認の上、指定してください。ポート番号の詳細については、“2.1.1 コネクションの接続形態”を参照してください。
不明な場合は、システム管理者に確認してください。
RDBシステム名を指定します。
このパラメタは、Symfoware/RDBにRDBシステム名を付けて運用する場合にだけ指定します。
RDBシステム名については、システム管理者に確認してください。
省略した場合は、RDBシステム名なしになります。
データ資源名を指定します。
データ資源名については、システム管理者に確認してください。
省略することはできません。
JDBCドライバのオプションを以下の形式で指定します。
オプション名 = 指定する値
指定可能なオプションについては、“5.2.4.3 オプションの設定”を参照してください。
オプションは以下のような形式で複数指定することができます。
例
user=UID;password=PWD
記述例
jdbc:symfold:///COMPANY
jdbc:symford://myhost:26551/COMPANY;user=UID;password=PWD
注意
1つのJDBCデータソース定義ファイルに、複数の接続先情報は指定できません。接続先情報の違うJDBCデータソースを作成する場合は、JDBCデータソース定義ファイルを複数作成してください。
JDBCドライバで指定可能なオプションは、以下のとおりです。
ステートメントキャッシュ機能の利用時に、PreparedStatementオブジェクトおよびCallableStatementオブジェクトのクローズをJDBCドライバが自動的に行うかどうかを指定します。
autoclosestatement={ YES | NO }
autoclosestatement=NO
YES:ステートメントキャッシュ機能利用時に、PreparedStatementオブジェクトやCallableStatementオブジェクトを自動でクローズします。
NO :自動クローズは行いません。
注意
このオプションは、ステートメントキャッシュ数に1~32000が指定された場合に指定可能です。
実行した文の数が、オプションstatementcacheで設定されたキャッシュ数に達した場合、以降実行される文はキャッシュしませんが、自動クローズの対象にもなりません。
ctuneparamオプションには、Symfoware Serverのクライアント用の動作環境ファイルに相当する指定をすることができます。詳細は、“5.2.3.4 ctuneparamオプションについて”を参照してください。
ctuneparam=パラメタ名
ctuneparamオプションで指定するパラメタ
ctuneparam='CLI_MAX_SQL=(255);CLI_WAIT_TIME=(30)'
注意
ctuneparamオプションに複数のパラメタを指定する場合、値を“;”(セミコロン)で区切って設定します。
独立性水準の初期値を指定します。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 COMMITTEDとします。
独立性水準の初期値をREPEATABLE READとします。
独立性水準の初期値を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が指定された場合、プロセスで最初に実行されるSQL文の直前でSET TRANSACTION文が実行されたことになります。
default_readonly={ false | true }
本オプションを省略した場合は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”のDEFAULT_ACCESS_MODEの優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
default_readonly=false
トランザクションアクセスモードの初期値をREAD WRITEとします。
トランザクションアクセスモードの初期値をREAD ONLYとします。
注意
ctuneparamオプションのCLI_DSO_LOCKまたは動作環境ファイルのDSO_LOCKを指定して、default_readonlyを指定した場合は、サーバ接続時にエラーが発生します。
JDBCドライバがコード変換時に使用する、Javaのエンコーディングを指定します。
javaconverter=エンコーディング名
クライアント用の動作環境ファイルのJAVA_CONVERTERパラメタの指定に従います。
JAVA_CONVERTERパラメタが指定されなかった場合は、JDBCドライバが動作しているJava実行環境に合わせて、自動設定されます。
JDBCドライバがコード変換時に使用する、Javaのエンコーディングを指定します。
Java VMでサポートされているエンコーディング名を指定してください。
アプリケーション実行環境のロケールがCで、ASCIIコード範囲外の文字データを利用する場合、javaconverterオプションで、対象データのエンコーディングを指定してください。
JDBCドライバで返却するエラーメッセージの言語を指定します。
lang={ JA | EN }
日本語のOS環境で本オプションが省略された場合、JAが指定されたとみなします。
その他のOS環境で本オプションが省略された場合、ENが指定されたとみなします。
JDBCドライバで返却するエラーメッセージの言語を指定します。
JAが指定された場合、日本語のエラーメッセージを出力します。
ENが指定された場合、英語のエラーメッセージを出力します。
列名に全角小文字を使用していて、ResultSet.getXXXメソッドを使用する場合に、指定した列名を正しく認識させるために指定します。
lowercasename={ YES | NO }
クライアント用の動作環境ファイルのLOWERCASE_NAMEパラメタの指定に従います。
LOWERCASE_NAMEパラメタが指定されなかった場合は、以下の値が設定されます。
LOWERCASE_NAME =(NO)
YES:Symfoware/RDBの表定義で、列名に全角小文字を使用している場合に指定します。
NO:Symfoware/RDBの表定義で、列名に全角小文字を使用していない場合に指定します。
データソースごとに、同時に接続可能なコネクション数の上限を指定します。
maxconnections=最大コネクション数
maxconnections=256
データソースごとに、同時に接続可能なコネクション数の上限を、1~2147483647の範囲で指定します。
注意
maxconnectionsオプションは、DataSourceインタフェースを利用した接続で、利用可能です。
データソースごとに、再利用可能なコネクション数の上限を指定します。
maxpooledconnections=最大プールコネクション数
maxpooledconnections=256
データソースごとに、再利用可能なコネクション数の上限を、0~2147483647の範囲で指定します。
0を指定した場合、コネクションは再利用されずに切断されます。
1以上を指定した場合、Connectionインタフェースのcloseメソッドを実行しても、データベースとの接続は切断されません。コネクションは再利用可能な状態になります。
ただし、maxpooledconnectionsオプションの指定値を超えるコネクションは、切断されます。
注意
maxconnectionsオプションに指定された値よりも大きい値は指定できません。
maxpooledconnectionsオプションは、DataSourceインタフェースを利用した接続で、利用可能です。
データベースに接続するためのパスワードを指定します。パスワードに、“;” (セミコロン)は指定できません。また、OSのログイン名で接続する場合には、パスワードの先頭または末尾に“ ”(空白)を指定できません。
省略した場合、getConnectionメソッドの引数に、必ず指定してください。
ただし、以下の場合、パスワードの指定は不要です。
ローカルアクセスの場合
接続先ホスト名に自端末のIPアドレス、自端末のホスト名、“localhost”またはループバックアドレスを指定したリモートアクセスの場合
password=パスワード
アプリケーション内で使用する、SQL文に対するデフォルトスキーマ名を指定します。
schema=スキーマ名
デフォルトスキーマ名なし
ステートメントキャッシュ機能でキャッシュする、文の上限を指定します。
statementcache=キャッシュ数
statementcache=0
ステートメントキャッシュ機能でキャッシュするSQL文の上限を、0~32000の範囲で指定します。
0を指定した場合、ステートメントキャッシュ機能は無効になり、SQL文はキャッシュされません。
キャッシュする文の数の見積りは、以下となります。
キャッシュする文の数 = prepareStatementメソッドまたは、 prepareCallメソッドで指定するSQL文の数
注意
同じSQL文でも以下の場合は別のSQL文として計算してください。
大文字と小文字の違いがある場合
結果セットのタイプが異なる場合
結果セットの並行処理のタイプが異なる場合
データベースに接続するためのユーザIDを指定します。
省略した場合、getConnectionメソッドの引数に、必ず指定してください。
ただし、以下の場合、ユーザIDの指定は不要です。
ローカルアクセスの場合
接続先ホスト名に自端末のIPアドレス、自端末のホスト名、“localhost”またはループバックアドレスを指定したリモートアクセスの場合
user=ユーザID
クライアント用の動作環境ファイルを指定します。
sqlrtenv =クライアント用の動作環境ファイル名
以下のパスが指定されたとみなします。
クライアントインストール先¥etc¥clientenv¥fssqlenvj
/opt/FJSVsymcl/etc/clientenv/fssqlenvj
/opt/FJSVsymcl/etc/clientenv/fssqlenvj
クライアント用の動作環境ファイル名:
クライアント用の動作環境ファイル名は、絶対パスで指定します。
Java VMのガーベジコレクションが動作し、オブジェクトが破棄された契機で、JDBCドライバ内部でcloseメソッドを実行し、データベース上の資源を回収するかどうかを選択します。
finalizeswitch={ ON | OFF }
finalizeswitch=OFF
finalizeメソッドの延長でcloseメソッドを実行します。
finalizeメソッドの延長でcloseメソッドを実行しません。
注意
ONが指定された場合、Java VMのガーベジコレクションの延長で、JDBCドライバの資源を回収します。ただし、資源の回収は、SQL文が実行されていない契機に実行します。長時間SQL文を実行するようなアプリケーションの場合、Java VMによる回収処理が待たされてしまい、メモリ不足の状態が発生する場合があります。また、資源回収中は、SQL文の実行が待ち状態になります。上記の待ち状態の影響で、アプリケーションのレスポンス性能が遅延する場合があります。
setStringでBLOB列に対して奇数バイトのデータが指定されたとき、データの異常を通知するためにエラー復帰するかどうかを選択します。
oddstringtoblob={ ERRORMESSAGE | CUTLASTCHAR }
oddstringtoblob= ERRORMESSAGE
setStringでBLOB列に対して奇数バイトのデータが指定されたとき、アプリケーションにエラー復帰します。
setStringでBLOB列に対して奇数バイトのデータが指定されたとき、指定されたデータの後方1バイトを削除し、データを追加します。