VBScript
dbDesc.GetLogin
Perl
$dbDesc->GetLogin();
El inicio de sesión de base de datos no es el mismo que el inicio de sesión de Rational ClearQuest del usuario. El inicio de sesión de base de datos hace referencia al nombre de cuenta que utiliza Rational ClearQuest al iniciar transacciones con la base de datos. El administrador de la base de datos establece este valor de antemano.
El usuario debe haber iniciado la sesión en una base de datos para que este método devuelva un valor adecuado. Para escritores de código de enganche, Rational ClearQuest inicia, automáticamente, la sesión del usuario en la base de datos. Si escribe una aplicación autónoma, debe crear un objeto Session de modo manual y llamar al método UserLogon antes de llamar a este método.
Para la mayoría de los usuarios, este método devuelve el inicio de sesión de lectura/escritura asociado a la base de datos. Sin embargo, si el usuario asociado a la sesión actual es el administrador de Rational ClearQuest, este método devuelve, en su lugar, el inicio de sesión del propietario de la base de datos. De modo similar, si el usuario tiene una cuenta de sólo lectura, este método devuelve el inicio de sesión de sólo lectura.
Si dispone de acceso al repositorio de esquemas, puede recuperar información sobre la base datos de usuario accediendo a las propiedades del objeto Database correspondiente.
VBScript
En el ejemplo siguiente se muestra cómo iniciar la sesión en la base de datos desde una aplicación de Visual Basic.
set sessionObj = CreateObject("CLEARQUEST.SESSION") ' Login to each database successively. databases = sessionObj.GetAccessibleDatabases("MASTR","","") For Each db in databases If Not db.GetIsMaster Then ' Logon to the database. sessionObj.UserLogon "tom", "gh36ak3", dbName, AD_PRIVATE_SESSION, dbSetName ' Get the database login and password for "tom" dbLogin = db.GetLogin dbPassword = db.GetPassword ' ... End If Next
Perl
use CQPerlExt;
#Start a Rational ClearQuest session
$sessionObj = CQSession::Build();
#Get a list of accessible database description objects
$databases = $sessionObj->GetAccessibleDatabases("MASTR", "", "");
#Get the number of databases
$count = $databases->Count();
#Foreach accessible database that is not the master database
for($x=0;$x<$count;$x++){
$db = $databases->Item($x);
if (! $db->GetIsMaster() ) {
$dbName = $db->GetDatabaseName();
#Logon to the database as "tom" with password "gh36ak3"
$sessionObj->UserLogon( "tom", "gh36ak3", $dbName, $dbSetName );
#Get the database login and password for "tom"
$dbLogin = $db->GetLogin();
$dbPassword = $db->GetPassword();
#...
}
}
CQSession::Unbuild($sessionObj);