Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: skywook am 03.02.14 - 10:52:54

Titel: Datenbank kopieren
Beitrag von: skywook am 03.02.14 - 10:52:54
Hallo,

ich möchte per Script eine DB kopieren. Mit createCopy erstelle ich eine Kopie aber ohne Dokumente.

Gibt es keine Möglichkeit eine 1:1 Kopie einer Datenbank zu erstellen?


Titel: Re: Datenbank kopieren
Beitrag von: Mitch am 03.02.14 - 11:05:39
Huhu,

FileCopy oder notfalls über die Shell wären Möglichkeiten(*).

Gruß,

Mitch

(*) Edit: Siehe unten. Andrew hat Recht, das wäre dann eine Replik. Je nach dem was du vorhast könnte das unerwünschte Nebenwirkungen haben. In der Hilfe zu createCopy ist aber auch ein Beispiel um die Dokumente zu kopieren.
Titel: Re: Datenbank kopieren
Beitrag von: Andrew Harder am 03.02.14 - 11:11:04
Vorsicht, dann ist das eine Replik!

Das es beim CreateCopy keinen Parameter gibt damit die Dokumente mitkopiert werden, ist echt störend.
Kann man aber einfach lösen.

Wenn Du nix mit API machen willst, dann sehe Dir einfach mal folgendes an:
- Properties NotesDataBase: AllDocuments
- Method NotesDocument: CopyToDatabase
Titel: Re: Datenbank kopieren
Beitrag von: koehlerbv am 03.02.14 - 11:21:12
AllDocuments gibt aber wirklich nur "normale" Dokumente zurück.

Will man auch Profile Documents mit in die Kopie übernehmen, braucht es noch ein GetProfileDocColletion.

HTH,
Bernhard
Titel: Re: Datenbank kopieren
Beitrag von: Glombi am 03.02.14 - 11:59:23
Es geht standardmäßig mit Serverconsolen Command
CL COPY quelldb zieldb.
siehe dazu bspw. http://searchdomino.techtarget.com/tip/Copy-Lotus-Notes-databases-from-the-Domino-Server-console-command-line

Das sollte sich dann auch mit SendConsoleCommand aufrufen lassen.

Andreas
Titel: Re: Datenbank kopieren
Beitrag von: skywook am 07.02.14 - 08:48:53
Es geht standardmäßig mit Serverconsolen Command
CL COPY quelldb zieldb.
siehe dazu bspw. http://searchdomino.techtarget.com/tip/Copy-Lotus-Notes-databases-from-the-Domino-Server-console-command-line

Das sollte sich dann auch mit SendConsoleCommand aufrufen lassen.

Andreas

Vielen Dank!

Gibt es bei dem Befehl einen Rückgabewert? Wäre nicht schlecht danach zu prüfen ob die DB korrekt kopiert wurde?
Oder reicht zum prüfen ein Vergleich mit der Dokumenteanzahl ?
Titel: NotesDatabase.CreateFromTemplate
Beitrag von: Jens Winkelmann am 08.02.14 - 17:44:59

Für LotusScript gibt es die Methode NotesDatabase.CreateFromTemplate

Diese kopiert das gesamte Design + Dokumente

http://www-12.lotus.com/ldd/doc/lotusscript/lotusscript.nsf/1efb1287fc7c27388525642e0074f2b6/0c5a0aef71d2f2708525642e0075633d?OpenDocument (http://www-12.lotus.com/ldd/doc/lotusscript/lotusscript.nsf/1efb1287fc7c27388525642e0074f2b6/0c5a0aef71d2f2708525642e0075633d?OpenDocument)
Titel: Re: Datenbank kopieren
Beitrag von: Andrew Harder am 09.02.14 - 01:07:08
Aber nur, wenn die Datenbank ein Template ist:
Zitat
If the current database is not a template, the CreateFromTemplate method creates a new, blank database without any forms or views (equivalent to the Create method).
Übersieht man das, hat man eine völlig nackte Datenbank.