Session の作成が終わったら、アクセス可能なデータベースの リストを取得でき、次に、ユーザー データベースにログオンするためのログオン認証を用意する必要があります。
$CQsession->UserLogon(login_name, password, database_name, database_set_name);引数はすべて文字列です。
ユーザー ログイン名。
ユーザー パスワード。
スキーマ リポジトリ内のデータベースの名前。
データベース セットの名前。デフォルトを 使用する場合、database_set 文字列を空 ("") に設定できます。
$CQSession->UserLogon("admin", "", "SAMPL", "");
require CQPerlExt; $CQsession = CQSession::Build(); #Start a Rational ClearQuest session $sessionObj = CQSession::Build(); #Get a list of accessible databases $databases = $sessionObj->GetAccessibleDatabases("MASTR", "admin", ""); $count = $databases->Count(); $sessionObj->UserLogon("admin", "", "perl2", ""); #For each accessible database, # get database name and 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, "" ); #... } # You can also ise the GetSessionDatabase method rather than the GetAccessibleDatabases method $dbDesc = $sessionObj->GetSessionDatabase(); # The GetSessionDatabase method returns information about the database that is being accessed # in the current session. This method differs from the GetAccessibleDatabases method in that it # returns the DatabaseDescription object associated with the current session. You can only call # this method after the user has logged in to a particular database. print "DB name = ", $dbDesc->GetDatabaseName(), "¥n"; print "DB set name = ", $dbDesc->GetDatabaseSetName(), "¥n"; print "DB connect string = ", $dbDesc->GetDatabaseConnectString(), "¥n"; print "User login name = ", $sessionObj->GetUserLoginName(), "\n"; print "User full name = ", $sessionObj->GetUserFullName(), "\n"; print "User email = ", $sessionObj->GetUserEmail(), "\n"; print "User phone = ", $sessionObj->GetUserPhone(), "\n"; print "Misc user info = ", $sessionObj->GetUserMiscInfo(), "\n"; print "User groups: ¥n"; $userGroups = $sessionObj->GetUserGroups(); if (!@$userGroups) { # Code to handle if no user groups exist print "This user does not belong to any groups¥n"; } else { # Print out all groups foreach $groupname (@$userGroups) { print "Group $groupname\n"; } } CQSession::Unbuild($sessionObj);