Setzen einer Replik-ID via C++ API von Lotus Domino

Mit C++ ist es möglich die Replik-ID einer Datenbank zu setzen.

Hier für bietet die C++ API die entsprechenden Funktionen an.

Die Funktion, mit die Replik-Id gesetzt wird, ist in der C++ API folgendermaßen definiert:

LNSTATUS SetReplicaID( const TIMEDATE & newid )

Hierdurch wird deutlich, dass es sich bei der Replik-ID um einen TimeStamp handelt!

Um eine neue Replik-ID zu generieren, kann man folgende Zeile verwenden, die eine neue ID aufgrund der aktuellen Datum/Zeit zurückgibt:

LNDatetime ReplId = Session.GetCurrentDatetime();

Eine neue Replik-ID kann einer Datenbank daher folgendermaßen vergeben werden:

LNDatabase db;
session.GetDatabase(filepath,&db,servername);
db.Open();
LNDatetime ReplId = Session.GetCurrentDatetime();
db.SetReplicaID(ReplId.GetTIMEDATE());
db.Close();

Man kann auch die Replik-ID einer Datenbank auf eine andere Datenbank übertragen:

TIMEDATE *aTime = DBvon.GetReplicaID();
status = DBzu.SetReplicaID( *aTime );

Normale User können übrigens die Replik-ID auf einem Server nicht ändern, dass würde auch ein Sicherheitsrisiko darstellen. Nur User die die Berechtigung haben, auf dem Server neue Repliken anzulegen, können auch Replik-IDs ändern.

Viel Erfolg!

This entry was posted in C, Lotus Domino. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s