defineDatabaseAlias()

システム関数 SysLib.defineDatabaseAlias は、 ユーザーのコードが既に接続されているデータベースとの新規接続を確立するのに使用可能な別名を作成します。 接続が確立されると、この別名は以下のいずれかの関数で使用できます。

この別名は、ReportData 型の変数の connectionName フィールドで使用することもできます。

  SysLib.defineDatabaseAlias(
    alias STRING in,
    database STRING in)
alias
2 次パラメーター内で識別された接続の別名として機能する文字列リテラルまたは変数。この別名は、大/小文字を区別しません。
database
SysLib.connect または VGLib.connectionService で指定されたデータベース名。 文字型のリテラルまたは変数を使用します。

接続を指定しなかった場合、この関数は現行接続に影響を及ぼします。

以下に例を示します。
  // データベースに「alias」という別名で接続します。
  // これが現行接続になります。
  defineDatabaseAlias( "alias", "database" );
  connect( "alias", "user", "pwd" );

  // 同じデータベースに 2 つの接続を確立します。
  String db = "database";
  defineDatabaseAlias( "alias1", db );
  defineDatabaseAlias( "alias2", db );
  connect( "alias1", "user", "pwd" );
  connect( "alias2", "user", "pwd" );

  // 同じデータベースに 2 つの接続を
  // 確立する別の方法。
  defineDatabaseAlias( "alias", "database" );
  connect( "alias", "user", "pwd" );
  connect( "database", "user", "pwd" );

  // 別名が定義されていますが、使用されていません。
  // 2 番目の connect() では、新規の接続は作成されません。
  defineDatabaseAlias( "alias", "database" );
  connect( "database", "user", "pwd" );
  connect( "database", "user", "pwd" );

  // 接続を切断するときの別名
  // (大/小文字を区別しない) の使用。 
  defineDatabaseAlias( "alias", "database" );
  connect( "aLiAs", "user", "pwd" );
  disconnect( "ALIAS" );

  // 次の切断呼び出しは、接続が「database」ではなく、
  // 「alias」として呼び出されているために失敗しました。
  defineDatabaseAlias( "alias", "database" );
  connect( "alias", "user", "pwd" );
  disconnect( "database" );

  // 別名を変更できます。次の呼び出し後、
  // 「alias」は「firstDatabase」として呼び出されます。
  defineDatabaseAlias( "alias", "firstDatabase" );

  次の呼び出し後、
  // 「alias」は「secondDatabase」として呼び出されます。
  defineDatabaseAlias( "alias", "secondDatabase" );

  // 接続が「alias」として残っている場合、
  // 最後の呼び出しは失敗します。

関連概念
EGL 関数の構文図
SQL サポート

関連リファレンス
beginDatabaseTransaction()connect()
disconnect()
setCurrentDatabase()
connectionService()

フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.