システム関数 SysLib.connect
によって、プログラムは実行時にデータベースへ接続することができます。この関数は、値を戻しません。
SysLib.connect(
database STRING in,
userID STRING in,
password STRING in
[, commitScope enumerationCommitScope in
[, disconnectOption enumerationDisconnectOption in
[, isolationLevel enumerationIsolationLevel in
[, commitControl enumerationCommitControlOption in
]]]] )
- database
- データベースを識別します。
- database を RESET に設定すると、デフォルト・データベースに再接続します。ただし、デフォルト・データベースが使用できない場合には、接続状況は変更されません。詳しくは、『デフォルト・データベース』を参照してください。
- それ以外の場合、物理データベース名を確認するには、プロパティー
vgj.jdbc.database.server
(server は SysLib.connect
呼び出しで指定したデータベースの名前) を検索します。
このプロパティーが定義されていない場合は、SysLib.connect
呼び出しで指定されたデータベース名がそのまま使用されます。
- J2EE 接続と非 J2EE 接続ではデータベース名の形式が異なります。
- J2EE 環境で実行されるプログラムを生成した場合には、JNDI レジストリーでのデータ・ソースのバインド先となる名前 (jdbc/MyDB など) を使用します。
ビルド記述子オプション J2EE が YES に設定
されている場合に、この状態が発生します。
- 非 J2EE JDBC 環境のためのプログラムを生成した場合
には、接続 URL (jdbc:db2:MyDB など) を使用します。オプション J2EE が NO に設定
されている場合に、この状態が発生します。
- userID
- データベースへアクセスするときに使用されるユーザー ID。CHAR 型で長さが 8 の項目を引数として使用する必要があります。リテラルは有効です。引数を指定する必要があります。背景情報については、『データベースの権限とテーブル名』を参照してください。
- password
- データベースへアクセスするときに使用されるパスワード。CHAR 型で長さが 8 の項目を引数として使用する必要があります。リテラルは有効です。引数を指定する必要があります。
- commitScope
-
値は以下のワードのいずれかであり、引用符および変数は使用できません。
- type1 (デフォルト)
- シングル・フェーズ・コミットのみがサポートされます。
新規接続によって、すべてのカーソルが閉じられ、ロックが解放され、既存の接続が終了します。
ただし、type1 接続を行う前に、SysLib.commit または SysLib.rollback
を呼び出します。
type1 を commitScope の値として使用する場合、
パラメーター disconnectOption の値は、デフォルトである
ワード explicit である必要があります。
- type2
- データベースへ接続しても、カーソルの終了、ロックの解放、既存の接続の終了は行わ
れません。複数のデータベースから読み込むために複数の接続を使用できますが、1 つの作業単位に 1 つのデータベースのみを更新する必要があります。これは、シングル・フェーズ・
コミットしか使用できないためです。
- twophase
- type2 と同じ。
- disconnectOption
- このパラメーターは、Java™ 出力を生成する場合にのみ有効です。
値は以下のワードのいずれかであり、引用符および変数は使用できません。
- explicit (デフォルト)
- プログラムが SysLib.commit または SysLib.rollback
を呼び出した後、接続はアクティブのままです。
接続リソースを解放するには、プログラムで SysLib.disconnect を実行する必要があります。
type1 を commitScope の値として使用する場合、
パラメーター disconnectOption の値に、
ワード explicit を設定 (またはデフォルトに設定) する必要があります。
- automatic
- コミットまたはロールバックによって、既存の接続が終了します。
- conditional
- コミットまたはロールバックによって既存の接続が自動的に終了します (カーソルが開いていて保留オプションがそのカーソルに対して有効である場合を除く)。保留オプションに関する詳細については、『オープン』を参照してください。
- isolationLevel
- このパラメーターは、別のデータベース・トランザクションからのデータベース・トランザクションの独立性レベルを示します。
以下のワードは厳密性の少ない順であり、
ここでも、引用符および変数は使用できません。
- readUncommitted
- readCommitted
- repeatableRead
- serializableTransaction (デフォルト値)
詳しくは、Sun Microsystems, Inc の JDBC 資料を参照してください。
- commitControl
- このパラメーターは、データベースに変更を加えるたびに、コミットを行うかどうかを指定します。
有効な値は以下のとおりです。
- noAutoCommit (デフォルト) は、コミットを自動実行しないことを意味します。通常は、その方が実行速度が速くなります。
その場合のコミットとロールバックの詳しい規則については、『作業論理単位』を参照してください。
- autoCommit は、更新が即時に有効になることを意味します。
一時的に autoCommit から noAutoCommit に切り替えることもできます。詳細については、『SysLib.beginDatabaseTransaction」を参照してください。