복제 정보를 가져오고 정보 오브젝트를 리턴합니다.
현재 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();
"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);