GetAccessibleDatabases

설명

지정된 사용자가 로그인할 때 사용할 수 있는 데이터베이스 목록을 리턴합니다.

이 메소드는 지정된 사용자가 로그인할 수 있는 데이터베이스만 리턴합니다. user_login_name 매개변수에 빈 문자열이 포함된 경우, 이 메소드는 지정된 스키마 저장소(마스터 데이터베이스)와 연관된 모든 데이터베이스의 목록을 리턴합니다.

DatabaseDesc 오브젝트를 확인하여 해당하는 데이터베이스 이름, 데이터베이스 세트 이름 및 로그인하는 데 필요한 기타 정보를 가져올 수 있습니다.

참고: GetAccessibleDatabases 메소드에는 사용자 로그인이 필요하지 않습니다. 사용자 로그인 전에 생성된 Session 오브젝트에서 호출할 수 있습니다. LDAP 인증이 사용 가능한 경우, 사용자 로그인 이름은 Rational® ClearQuest® 사용자 이름과 동일하지 않을 수 있습니다. 자세한 정보는 기존 API에 미치는 영향을 참조하십시오.

구문

VBScript

session.GetAccessibleDatabases (master_db_name, user_login_name, database_set) 

Perl

$session->GetAccessibleDatabases(master_db_name, user_login_name, database_set); 
ID
설명
session
현재 database-access 세션을 나타내는 Session 오브젝트입니다.
master_db_name
스키마 저장소Rational ClearQuest 논리적 데이터베이스 이름을 지정하는 문자열입니다. 대부분의 경우 이 값은 "MASTR"입니다.
user_login_name
사용자 로그인 이름을 지정하는 문자열입니다. 이 인수에 빈 문자열을 사용하면 함수는 특정 사용자가 액세스 가능한 데이터베이스 뿐만 아니라 이 스키마 저장소와 연관된 모든 데이터베이스 목록을 리턴합니다.
database_set
액세스 가능한 데이터베이스를 찾을 데이터베이스 세트를 지정하는 문자열입니다. 기본적으로 이 인수에는 빈 문자열이 포함되어야 합니다. 이를 통해 함수는 제품의 기본 데이터베이스 세트 이름(즉, 제품 버전 번호)을 사용합니다.
Return value
VBScript의 경우 각각 DatabaseDesc 오브젝트가 포함된 Variant의 배열을 리턴합니다.

Perl의 경우 DatabaseDescs 오브젝트 콜렉션을 리턴합니다.

예제

VBScript

set sessionObj = GetSession 

' Get the list of databases in the 
' master database set. 
databases = sessionObj.GetAccessibleDatabases("MASTR","admin","")
for each db in databases 
   ' Get the name of the database 
   dbName = db.GetDatabaseName 
   sessionObj.UserLogon "admin", "", dbName, AD_PRIVATE_SESSION, ""

   dbConnectString = db.GetDatabaseConnectString
Next



The following code provides a MsgBox indicating the connect vendor 
information and logical name for all the user databases in a specific dbset.

Sub Test()

Dim session 

Dim databases

Dim dbConnectString

Dim dbConnectName

Dim db

Set session = CreateObject("CLEARQUEST.SESSION")

databases = session.GetAccessibleDatabases("MASTR", "admin", "")

session.UserLogon "admin", "", "SAMPL", AD_PRIVATE_SESSION, ""

For Each db In databases

   dbConnectString = db.GetDatabaseConnectString

   dbConnectName = db.GetDatabaseName

   MsgBox dbConnectString

   MsgBox dbConnectName

Next

End Sub 

Perl

use CQPerlExt;
#Start a Rational ClearQuest session

$sessionObj = CQSession::Build();

#Get a list of accessible databases
$databases = $sessionObj->GetAccessibleDatabases("MASTR", "admin", "");
$count = $databases->Count();

#Foreach accessible database, 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, "" );
   #...
   }
CQSession::Unbuild($sessionObj);

피드백