Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Johann am 07.12.05 - 14:00:00

Titel: Dokumente in 2 DB vergleichen
Beitrag von: Johann am 07.12.05 - 14:00:00
Hallo,
ich würde gerne Dokumente miteinander vergleichen. Wobei die Dokumente in unterschiedlichen DB liegen. Dazu würde ich gerne die UniqueID verwenden. Falls er die UniqueID nur in DB 1 findet, soll das Dokument auch in der anderen DB 2 gelöscht werden.
Titel: Re: Dokumente in 2 DB vergleichen
Beitrag von: klaussal am 07.12.05 - 14:04:57
Dann mach es doch !

Oder wie sollen wir den Beitrag verstehen ?
Titel: Re: Dokumente in 2 DB vergleichen
Beitrag von: Johann am 07.12.05 - 14:35:58
Frage dazu: Wie stell ich das an?
Titel: Re: Dokumente in 2 DB vergleichen
Beitrag von: klaussal am 07.12.05 - 14:48:51
Das ist alles etwas dünn, was bisher rüberkommt.
Was heisst das denn: ich möchte Dokumente vergleichen ? Alle Felder oder nur eines, etc etc ?

Ansonsten gehst Du die eine DB sequentiell durch und schaust nach, ob das Doc in der anderen Db vorhanden ist. Da kommt schon die nächste Frage, woran erkennst Du denn, ob das Doc auch in der 2. DB ist ?

Fazit: ich hab heute meine Glaskugel nicht dabei, also kann ich Dir nicht viel weiterhelfen.
Titel: Re: Dokumente in 2 DB vergleichen
Beitrag von: flaite am 07.12.05 - 15:07:42
Da gibts doch irgendein Tool für, oder  ???
Titel: Re: Dokumente in 2 DB vergleichen
Beitrag von: koehlerbv am 07.12.05 - 15:31:29
Unter Umständen gibt es ein Tool (Teamstudio Delta - muss aber für Dokumentenvergleich zusätzlich programmiert werden).

Ein Vergleich über die DocumentUniqueID wird nicht möglich sein, da es sehr unwahrscheinlich ist, dass in zwei DBs die UNIDs gleich sind - es sei denn, die beiden DBs sind Repliken voneinander.

Bernhard
Titel: Re: Dokumente in 2 DB vergleichen
Beitrag von: Driri am 07.12.05 - 15:33:01
Zitat
Hallo,
ich würde gerne Dokumente miteinander vergleichen. Wobei die Dokumente in unterschiedlichen DB liegen. Dazu würde ich gerne die UniqueID verwenden. Falls er die UniqueID nur in DB 1 findet, soll das Dokument auch in der anderen DB 2 gelöscht werden.

Ich versteh ehrlich gesagt nur Bahnhof  ???

Die UniqueID heißt nicht umsonst so. Wenn es sich nicht um Repliken handelt, wirst Du darüber keine Treffer bei einem Vergleich bekommen.

Dazu ist der letzte Satz entweder unglücklich formuliert oder unlogisch. Wenn das Dokument nur DB1 gefunden wird, kann wohl in DB2 nicht sein, was gelöscht werden soll.
Titel: Re: Dokumente in 2 DB vergleichen
Beitrag von: Driri am 07.12.05 - 15:33:32
Mist, Bernhard war schneller  ;D
Titel: Re: Dokumente in 2 DB vergleichen
Beitrag von: eknori am 07.12.05 - 15:36:04
mit DWFSYNC kannst du solche Stunts machen ( http://www.eknori.de/archives/41 ). Die Docomente in den beiden Datenbanken müssen nur eindeutig identifizierbar sein. Wie du dir den Schlüssel aufbaust, bleibt deiner Phantasie überlassen.
Titel: Re: Dokumente in 2 DB vergleichen
Beitrag von: Johann am 07.12.05 - 15:41:32
Die UniqueID wird beim erstellen berechnet. anschließend wird aus sicherheitsgründen, das Dokument auf eine andere DB kopiert, aber so, dass beide UniqueID gleich sind. Nun kann es aber sein, dass aus der untergeordneten DB das Dokument gelöscht wird, deshalb muss es aus der übergeordneten natürlich auch verschwinden.
Der Vergleich erfolgt also basierend nur auf zwei Felder. Das Dokument in der übergeorneten DB bleibt, wenn der Agent das passende Gegenstück findet. Die Frage bleibt, wie gehe ich vor.
Titel: Re: Dokumente in 2 DB vergleichen
Beitrag von: koehlerbv am 07.12.05 - 15:43:48
Das wäre ja ein ganz simples Vorgehen:
- Du loopst durch alle in Frage kommenden Docs in DB1
- Du suchst für jedes Doc in DB1 das Gegenstück in DB2 mit NotesDatabase.GetDocumentByUNID
- hast Du keinen Treffer, wirfst Du das Doc in DB1 weg.

Bernhard
Titel: Re: Dokumente in 2 DB vergleichen
Beitrag von: klaussal am 07.12.05 - 15:47:58
Wie ich es schon ganz am Anfang angedeutet hatte... ;D