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 nombre_inicioSesión_usuario contiene una serie vacía, este método devuelve una lista de todas las bases de datos asociadas al depósito 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 (nombre_db_maestra, nombre_inicioSesión_usuario,conjunto_basesDatos)
Perl
session->GetAccessibleDatabases(nombre_db_maestra, nombre_inicioSesión_usuario,conjunto_basesDatos)
Para Perl, una recopilación del objeto DatabaseDescs.
VBScript
set sessionObj = GetSession
' Obtener la lista de bases de datos del
' conjunto de bases de datos maestra.
databases = sessionObj.GetAccessibleDatabases("MASTR","admin","")
for each db in databases
' Obtener el nombre de la base de datos
dbName = db.GetDatabaseName
sessionObj.UserLogon "admin", "", dbName, AD_PRIVATE_SESSION, ""
dbConnectString = db.GetDatabaseConnectString
Next
El código siguiente proporciona un MsgBox que indica la información del proveedor
de conexión y el nombre lógico para todas las bases de datos de usuario de un
dbset específico.
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;
#Iniciar una sesión de Rational
ClearQuest
$sessionObj = CQSession::Build();
#Obtener una lista de bases de datos a las que se puede acceder
$databases = $sessionObj->GetAccessibleDatabases("MASTR", "admin", "");
$count = $databases->Count();
#Para cada base de datos a la que se puede acceder, iniciar la sesión
#como joe con la contraseña gh36ak3
for($x=0;$x<$count;$x++){
$db = $databases->Item($x);
$dbName = $db->GetDatabaseName();
# Iniciar la sesión en la base de datos
$sessionObj->UserLogon( "joe", "gh36ak3", $dbName, "" );
#...
}
CQSession::Unbuild($sessionObj);