defineDatabaseAlias()

sqlLib.defineDatabaseAlias() システム関数は、コードが、既に接続されているデータベースに新規接続を確立するために使用可能な別名を作成します。 別名設定後は、以下の関数でその名前を使用することができます。

この関数は、Java™ 生成の場合にのみ有効です。

構文

  sqlLib.defineDatabaseAlias(
    alias STRING in,
    database STRING in)
alias
2 次パラメーター内で識別された接続の別名として機能するストリング・リテラルまたは変数。別名に大/小文字の区別はありません。
database
sqlLib.connect() で指定したデータベース名。文字リテラルまたは変数を使用します。

sqlLib.defineDatabaseAlias() 関数を使用して 2 つの別々のデータベース接続を維持する方法の例を、以下に示します。

  // データベースに「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" );

  // 次の disconnect 呼び出しは失敗します。
  // 接続の名前が "database" ではなく "alias" であるためです。
  defineDatabaseAlias( "alias", "database" );
  connect( "alias", "user", "pwd" );
  disconnect( "database" );

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

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

  // 接続が「alias」で配備されている場合、
  // 最後の呼び出しは失敗します。

互換性

表 1. defineDatabaseAlias() の互換性に関する考慮事項
プラットフォーム 問題
JasperReports ReportData 変数の connectionName フィールドでデータベースの別名を使用できます。
VisualAge® Generator の互換性 vgLib.connectionService() 呼び出しでデータベース別名を使用できます。

フィードバック