Devuelve una lista de las bases de datos que están disponibles para que el usuario especificado inicie la sesión.
Este método sólo devuelve las bases de datos para las que el usuario especificado tiene permitido el inicio de sesión. Si el parámetro user_login_name contiene una serie vacía, este método devuelve una lista de todas las bases de datos asociadas al repositorio de esquemas especificado (base de datos maestra).
Puede examinar cada objeto DatabaseDesc para obtener el nombre de la base de datos correspondiente, el nombre del conjunto de bases de datos y otra información que necesite para iniciar la sesión en la misma.
VBScript
session.GetAccessibleDatabases (master_db_name, user_login_name,database_set)
Perl
session->GetAccessibleDatabases(master_db_name, user_login_name,database_set)
Para Perl, una recopilación del objeto 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 The following code provides a MsgBox indicating the connect vendor information and logical name for all the user databases in a specific dbset. 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);