DB2 Everyplace データベースに対する接続は一度に 1 つのみです。DB2 Everyplace は、Palm を除いた すべてのプラットフォームで接続のシリアライゼーションをサポートします。接続の シリアライゼーションによって、データ・ソースに対する接続要求がシリアライズされます。 特定のデータ・ソースに対して同時に確立できるアクティブな接続は 1 つのみです。 その他の接続要求はキューに入れられます。 タイムアウト期間は、SQLSetConnectAttr() 関数の SQL_ATTR_LOGIN_TIMEOUT 属性を使用して設定することができます。 一般的なシリアライゼーションのシナリオは、以下のとおりです。
例として、以下の CLI /JDBC 呼び出しでは接続のタイムアウト期間を 10 に 設定します。つまり、同じデータベースに対して別の接続があると、 アプリケーションがエラーを受け取ります。
CLI の場合:
int i = 10; // 10 seconds timeout rc = SQLSetConnectAttr(hdbc, SQL_ATTR_LOGIN_TIMEOUT, (SQLPOINTER) i, 0);
JDBC の場合:
int waitTime = 10; String url = "jdbc:db2e:mysample";
Properties prop = new Properties(); prop.setProperty("LOGIN_TIMEOUT", Integer.toString(waitTime));
Connection con = driver.connect(url,prop);
注:
関連したタスク