GetLocalReplica

설명

복제 정보를 가져오고 정보 오브젝트를 리턴합니다.

현재 Rational® ClearQuest® 릴리스가 Rational ClearQuest MultiSite를 지원하는 경우, 이 메소드는 ratl_replicas 유형의 Entity 오브젝트를 리턴합니다.

리턴된 오브젝트를 사용하여 로컬 Rational ClearQuest 데이터베이스가 Rational ClearQuest MultiSite와 복제되었는지 여부를 판별할 수 있습니다. 또한 이 메소드를 사용하여 복제 데이터베이스의 이름 및 위치 등과 같은 현재 복제본에 대한 정보를 찾을 수도 있습니다.

이 메소드가 리턴하는 Replica 오브젝트는 Session 오브젝트의 GetEntity 메소드가 리턴하는 Entity 오브젝트와 비슷합니다. 즉, Entity 오브젝트와 연관된 메소드를 사용하여 Replica 오브젝트를 조회할 수 있습니다.

구문

VBScript

set replicaObj = session.GetLocalReplica

Perl

$replicaObj = session->GetLocalReplica();
ID
설명
session
현재 database-access 세션을 나타내는 Session 오브젝트입니다.
Return value
현재 세션과 연관된 "ratl_replicas" Entity 오브젝트를 리턴하고 현재 데이터베이스가 Rational ClearQuest MultiSite에 대해 업데이트되지 않았으면 NULL을 리턴합니다.

"ratl_replicas" Entity(이 데이터베이스에 알려진 복제본 목록이 포함된)에 대해 조회를 작성하고 "Name" 필드를 replicaName(다음 참조)과 비교하여 정보가 로컬 데이터베이스에 적용되었는지 다른 복제본 중 하나에 적용되었는지 판별할 수 있습니다. 또는 "Host" 필드를 localReplicaHost에 비교하여 특정 복제본을 다루는 다른 프로그램과 통신하는 방법을 판별할 수 있습니다. 예를 들어, 복제본이 로컬이 아닌 경우 이메일을 사용할 수 있습니다.

예제

VBScript

set session = GetSession

set replicaObj = session.GetLocalReplica

fieldNameList = replicaObj.GetFieldNames



For Each fieldName in fieldNameList

    set fieldInfoObj = GetFieldValue(fieldName)

    fieldType = fieldInfoObj.GetType

    fieldValue = fieldInfoObj.GetValue

    If fieldName = "Name" Then  'replica db name

        If fieldValue = "<local>" Then

            'Database has not been replicated

        else

            localReplicaName = fieldValue

        End If 

    ElseIf fieldName = "Host" Then 'db host name

        'host name of replica database:

        replicaHost = fieldValue

    End If 

Next
Perl
use CQPerlExt;


my $sess;

my $entity;



$sess = CQSession::Build();

$sess->UserLogon("admin", "", "MULTI", "CQMS.MS_ACCESS.SITEA");



if ($sess->IsReplicated()) {

   # print out the local replica name

    $entity = $sess->GetLocalReplica();

    printf "Local replica is %s.\n", $entity->GetDisplayName();

}

CQSession::Unbuild($sess);

피드백