GetAccessibleDatabases

説明

指定されたユーザーがログインできるデータベースのリストを戻します。

このメソッドは、指定されたユーザーがログインできるデータベースのみを戻します。user_login_name パラメータに空の文字列が含まれている場合、このメソッドは、指定されたスキーマ リポジトリ (マスター データベース) に関連付けられたすべてのデータベースのリストを戻します。

DatabaseDesc オブジェクトを調べると、ログインするのに必要な、対応するデータベース名、データベース セット名などの情報を取得できます。

注: GetAccessibleDatabases メソッドは、ユーザーのログインは不要です。ユーザーのログイン前に、構成された Session オブジェクトから呼び出すことができます。LDAP 認証が有効の場合、ユーザーのログイン名は Rational® ClearQuest® ユーザー名と同じであってはなりません。詳しくは、既存 API への影響を参照してください。

構文

VBScript

session.GetAccessibleDatabases (master_db_name, user_login_name, database_set) 

Perl

$session->GetAccessibleDatabases(master_db_name, user_login_name, database_set); 
識別子
説明
session
現在のデータベース アクセス セッションを表す Session オブジェクト。
master_db_name
スキーマ リポジトリRational ClearQuest 論理データベース名を指定する String。 ほとんどの場合、この値は「MASTR」です。
user_login_name
ユーザーのログイン名を指定する String。この引数に空の文字列を使用すると、特定のユーザーにアクセスできるデータベースのみではなく、スキーマ リポジトリに関連付けられたすべてのデータベースのリストを戻すことをこの関数に指示します。
database_set
アクセス可能なデータベースを検索する先のデータベース セット を指定する String。デフォルトでは、この引数には空の文字列が含まれます。これにより、この関数は製品デフォルトのデータベース セット名 (つまり、製品バージョン番号) を使用します。
戻り値
VBScript の場合、それぞれ DatabaseDesc オブジェクトを含む Variant の配列。

Perl の場合は、DatabaseDescs オブジェクトのコレクション。

VBScript

set sessionObj = GetSession 

' Get the list of databases in the 
' master database set. 
databases = sessionObj.GetAccessibleDatabases("MASTR","admin","")
for each db in databases 
   ' Get the name of the database 
   dbName = db.GetDatabaseName 
   sessionObj.UserLogon "admin", "", dbName, AD_PRIVATE_SESSION, ""

   dbConnectString = db.GetDatabaseConnectString
Next



次のコードは、特定のデータベース セット内のすべてのユーザー データベースの、
接続製造元情報および論理名を示すメッセージ ボックスを用意します。

Sub Test()

Dim session 

Dim databases

Dim dbConnectString

Dim dbConnectName

Dim db

Set session = CreateObject("CLEARQUEST.SESSION")

databases = session.GetAccessibleDatabases("MASTR", "admin", "")

session.UserLogon "admin", "", "SAMPL", AD_PRIVATE_SESSION, ""

For Each db In databases

   dbConnectString = db.GetDatabaseConnectString

   dbConnectName = db.GetDatabaseName

   MsgBox dbConnectString

   MsgBox dbConnectName

Next

End Sub 

Perl

use CQPerlExt;

#Start a Rational ClearQuest session

$sessionObj = CQSession::Build();

#Get a list of accessible databases
$databases = $sessionObj->GetAccessibleDatabases("MASTR", "admin", "");
$count = $databases->Count();

#Foreach accessible database, login as joe with password gh36ak3

for($x=0;$x<$count;$x++){

   $db = $databases->Item($x);
   $dbName = $db->GetDatabaseName();
   # Logon to the database 
   $sessionObj->UserLogon( "joe", "gh36ak3", $dbName, "" );
   #...
   }
CQSession::Unbuild($sessionObj); 

フィードバック