現在のユーザーに関連付けられたデータベース ログインを戻します。
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);