현재 사용자와 연관된 데이터베이스 로그인을 리턴합니다.
VBScript
dbDesc.GetLogin
Perl
$dbDesc->GetLogin();
데이터베이스 로그인은 사용자의 Rational® ClearQuest® 로그인과 동일하지 않습니다. 데이터베이스 로그인은 Rational ClearQuest 계정 이름이 데이터베이스와 트랜잭션을 시작할 때 사용하는 계정을 참조합니다. 이 값은 데이터베이스 관리자에 의해 미리 설정됩니다.
사용자가 데이터베이스에 로그인되어 있어야만 이 메소드가 적절한 값을 리턴합니다. 후크 코드 작성자의 경우, Rational ClearQuest는 자동으로 사용자를 데이터베이스에 로그인시킵니다. 독립형 애플리케이션을 작성 중인 경우, 직접 Session 오브젝트를 작성한 후 이 메소드를 호출하기 전에 UserLogon 메소드를 호출해야 합니다.
대부분의 사용자의 경우, 이 메소드는 데이터베이스와 연관된 읽기/쓰기 로그인을 리턴합니다. 그러나, 현재 세션에 연관된 사용자가 Rational ClearQuest 관리자인 경우 이 메소드는 대신 데이터베이스 소유자 로그인을 리턴합니다. 마찬가지로, 사용자가 읽기 전용 계정을 갖고 있으면 이 메소드는 읽기 전용 로그인을 리턴합니다.
스키마 저장소에 대한 액세스 권한을 갖고 있으면, 해당 Database 오브젝트의 특성에 액세스하여 해당 사용자 데이터베이스에 대한 정보를 검색할 수 있습니다.
VBScript
다음 예제에 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);