Es gibt erste Fortschritte zu vermelden.
Ich bin dabei einen Agenten zu schreiben, der
1. Alle Dokumente der Quelldatenbank durchgeht und dabei im Ziel je eine Kopie des Dokuments pro Anhang zu erzeugen. Also wenn ein Dokument fünf Anhänge hat, dann werden in der Zieldatenbank fünf gleiche Kopien des Dokuments erzeugt.
2. Aus verfahrenstechnischen Gründen muss der Agent in der Zieldatenbank laufen und nicht in der Quelle. Deshalb kann ich scheinbar die Eigenschaft UnprocessedDocuments der (Quell) Collection nicht nutzen. Muss derzeit immer alle Dokumente durchgehen und im Ziel voher alle löschen.
3. Da ich, dank der Suchfunktion im Forum
ein Stück Source gefunden habe, das die Anhänge kopiert, werde ich es scheinbar hinbekommen, während des Kopierens nur den benötigten Anhang zu kopieren und die anderen einfach zu übergehen. Ich hatte einfach noch nicht genug Zeit heute, deshalb kann ich nichts Genaues vermelden.
3a. Wenn das geht, dann wird es mit einmal Speichern pro Dokument funktionieren, die andere Variante ist, Dokument kopieren und dann in der Kopie die Anhänge entfernen. Das geht aber wohl nicht ohne vorheriges Speichern.
Was noch unschön ist: Ich muss immer alle Dokumente der Quelle durchgehen. Gibt es da eine andere Möglichkeit ?. Es kann vorkommen, das nicht nur neue Dokumente hinzukommen, es können auch bestehende verändert werden. Also benötige ich ein sicheres Kriterium der Änderung..
Das Andere ist: Die Quelle enthält berechnete Felder, die u.a. letzte Änderung bzw. letzten Bearbeiter speichern. Wenn ich diese Felder kopiere, dann wird im Ziel automatisch das Datum eingefügt, an den der Agent das Dokument erzeugt hat. Und das obwohl diese Felder im Ziel nicht berechnet sind, sondern einfach die bestehenden Werte übernehmen sollen. das kann ich mir bisher noch nicht erklären..
Eventuell habe ich da noch was übersehen..
Gruss
Thomas