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 usuarios, este método devuelve el inicio de sesión de lectura/grabación 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 depósito 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")
' Iniciar la sesión en cada base de datos sucesivamente.
databases = sessionObj.GetAccessibleDatabases("MASTR","","")
For Each db in databases
If Not db.GetIsMaster Then
' Iniciar la sesión en la base de datos.
sessionObj.UserLogon "tom", "gh36ak3", dbName,
AD_PRIVATE_SESSION, dbSetName
' Obtener la contraseña y el inicio de sesión de la base de datos para "tom"
dbLogin = db.GetLogin
dbPassword = db.GetPassword
' ...
End If
Next
Perl
use CQPerlExt;
#Iniciar una sesión de Rational
ClearQuest
$sessionObj = CQSession::Build();
#Obtener una lista de objetos de descripción de base de datos a los
#que se puede acceder
$databases = $sessionObj->GetAccessibleDatabases("MASTR", "", "");
#Obtener el número de bases de datos
$count = $databases->Count();
#Para cada base de datos a la que se puede acceder que no sea la base de datos maestra
for($x=0;$x<$count;$x++){
$db = $databases->Item($x);
if (! $db->GetIsMaster() ) {
$dbName = $db->GetDatabaseName();
#Iniciar la sesión en la base de datos como "tom" con la contraseña "gh36ak3"
$sessionObj->UserLogon( "tom", "gh36ak3", $dbName, $dbSetName );
#Obtener la contraseña y el inicio de sesión de la base de datos para "tom"
$dbLogin = $db->GetLogin();
$dbPassword = $db->GetPassword();
#...
}
}
CQSession::Unbuild($sessionObj);