指定されたユーザーがログインできるデータベースのリストを戻します。
このメソッドは、指定されたユーザーがログインできるデータベースのみを戻します。user_login_name パラメータに空の文字列が含まれている場合、このメソッドは、指定されたスキーマ リポジトリ (マスター データベース) に関連付けられたすべてのデータベースのリストを戻します。
各 DatabaseDesc オブジェクトを調べると、ログインするのに必要な、対応するデータベース名、データベース セット名などの情報を取得できます。
VBScript
session.GetAccessibleDatabases (master_db_name, user_login_name, database_set)
Perl
$session->GetAccessibleDatabases(master_db_name, user_login_name, database_set);
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);