GetAccessibleDatabases

Descrizione

Restituisce un elenco di database disponibili per l'accesso di un utente specificato.

Questo metodo restituisce solo i database a cui l'utente specificato può accedere. Se il parametro user_login_name contiene una stringa vuota, questo metodo restituisce un elenco di tutti i database associati al repository schema specificato (database principale).

È possibile esaminare ciascun oggetto DatabaseDesc per ottenere il nome del database corrispondente, il nome gruppo di database e le altre informazioni necessarie per accedervi.

Nota: il metodo GetAccessibleDatabases non richiede un accesso utente; è possibile che venga richiamato da un oggetto Session costruito prima di un accesso utente. Se l'autenticazione LDAP viene abilitata, il nome di accesso utente potrebbe non essere lo stesso del nome utente Rational ClearQuest. Per ulteriori informazioni, consultare l'argomento Impatto sulle API esistenti.

Sintassi

VBScript

session.GetAccessibleDatabases (master_db_name, user_login_name, database_set) 

Perl

$session->GetAccessibleDatabases(master_db_name, user_login_name, database_set); 
Identificativo
Descrizione
session
L'oggetto Session che rappresenta la sessione di accesso al database corrente.
master_db_name
Una stringa che specifica il nome del database logico Rational ClearQuest del repository schema. Nella maggior parte dei casi, questo valore è "MASTR".
user_login_name
Una stringa che specifica il nome di accesso utente. L'utilizzo di una stringa vuota per questo argomento indica a questa funzione di restituire un elenco di tutti i database associati a questo repository schema, non solo di quelli accessibili a un utente specifico.
database_set
Una stringa che specifica il gruppo di database in cui ricercare i database accessibili. Per impostazione predefinita, questo argomento deve contenere la stringa vuota. Questa operazione fa in modo che la funzione utilizzi il nome del gruppo di database predefinito del prodotto (ovvero, il numero della versione del prodotto).
Valore di ritorno
Per VBScript, un array di valori Variant ciascuno contenente un Oggetto DatabaseDesc.

Per Perl, una raccolta dell'Oggetto DatabaseDescs.

Esempio

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); 

Feedback