Autor Thema: Dokumente in eine andere DB kopieren  (Gelesen 2237 mal)

Offline chock

  • Senior Mitglied
  • ****
  • Beiträge: 337
  • Geschlecht: Männlich
Dokumente in eine andere DB kopieren
« am: 24.11.04 - 15:23:26 »
Hallo,

ich versuche Dokumente aus einem bestimmten View in eine andere Datenbank zu kopieren.
Finde keinen passenden Befehl fürs kopieren.
                .
   Set db2 = s.GetDatabase("Server", "xy")
   Set view2= db2.GetView("Certificates")
   Set vc = view2.AllEntries
   Call vc.

Danke

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Dokumente in eine andere DB kopieren
« Antwort #1 am: 24.11.04 - 15:26:35 »
Nicht mit einer NotesViewEntryCollection arbeiten, sondern besser von NotesView.GetFirstDocument ausgehend gleich die Dokumente instantiieren.
Kopieren mit NotesDocument.CopyToDatabase.

HTH,
Bernhard

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Dokumente in eine andere DB kopieren
« Antwort #2 am: 24.11.04 - 16:22:54 »
AllEntries ist sehr böse!!!

Wir haben mal ein Agent gehabt, der bei view.AllEntries ohne Vorwarnung den Server komplett abgeschossen hat.
†090620141300

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Dokumente in eine andere DB kopieren
« Antwort #3 am: 24.11.04 - 19:26:51 »
AllEntries ist sehr böse!!!

Wir haben mal ein Agent gehabt, der bei view.AllEntries ohne Vorwarnung den Server komplett abgeschossen hat.


In welcher Beziehung? Welche Version war denn das. Ich habe AllEntries schon einige Male benutzt, auch in Agenten, die durch User, des öfters aufgerufen werden. Bisher hatte ich keine Probleme damit.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Dokumente in eine andere DB kopieren
« Antwort #4 am: 25.11.04 - 10:14:58 »
Es hat ewig gedauert, bis wir den Fehler gefunden haben.

Das Problem war folgendes:
Server 5.0.11
Der Client "schiesst" bei View.AllEntries den Domino Server mit der Meldung "Puffer zu klein ..." komplett ab, der Domino Server wird mit der Meldung, dass ein Memory Breakpunkt erreicht ist, gekillt.
In unserer Testumgebung konnte das Szenario nachgestellt werden. Dabei kann der gecrashte Domino Server meist nur über Neustart des Betriebssystemes neu gestartet werden. Wird als Default Debugger nsd statt quincy aktiviert, kann der Server nach Wegschreibens eines Debug Files als Dienst neu gestartet werden (bei nsd als Debugger hat das Debug File mehr als 1000 Seiten !!! - das zu diesem Debugg Programm), ohne das Betriebssystem neu zu starten.

Problemlösungen:
Workaround wie unten von der IBM beschrieben.
Update auf Domino Server 5.0.12 (dort ist das Problem behoben).

Mail von der IBM:
Hi,

I'm contacting you in relation to your PMR ##### - I would just like to update you that I have collaborated with our server team advisor on this issue and have the following to report... Your analysis of this issue is 100% correct. The identified issue is with the view.Allentries method. This crash is caused by an overwrite of memory in the GetCollectionData transaction where a buffer is written past the limit.

A fix was introduced in Domino 5.0.12 for SPR #CMCY5BY22L for this issue - please see the following URL...
http://www-10.lotus.com/ldd/r5fixlist.nsf/Search?SearchView&Query=CMCY5BY22L&SearchOrder=0&Start=1&Count=100

It is recommended that you upgrade your server to 5.0.12 to resolve this issue.
OR     
As for workaround, the process would be, assuming the code has :         
    Set view = db.GetView( Folder )                                     
    Set vc = view.AllEntries                                             

It would need to be changed to something like :
     Set view = db.GetView( Folder )                                     
     Set doc = view.getfirstdocument                                     
     While Not doc Is Nothing                                           
          Set doc = view.getnextdocument                                 
     Wend                                                               

Your time and analysis of this issue has been a great aid identifying this issue - I hope that my update has helped and please update me of your thought or results in testing the workaround or whether you plan to upgrade the server.

If you have any questions regarding the above, please do not hesitate to contact Lotus Support. We will be more than happy to assist.

Regards,

Hoffe das hilft dir weiter..
lG
-daniel
« Letzte Änderung: 25.11.04 - 13:38:30 von rar »
†090620141300

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Dokumente in eine andere DB kopieren
« Antwort #5 am: 25.11.04 - 10:26:41 »
Hi,

den Workaround, den IBM vorschlägt, hatte so im meinem Agenten schon eingebaut. Deshalb habe ich wahrscheinlich noch nie Probleme gehabt.

Danke für den Hinweis.  Ist der Bug eigentlich auch noch unter 6.5 bekannt?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Dokumente in eine andere DB kopieren
« Antwort #6 am: 25.11.04 - 10:30:53 »
Ich arbeite eigentlich nur mit dem Workaround. AllEntries hab ich (glaub ich) noch nie verwendet...

Ob der Bug unter 6.5 noch da ist kann ich dir nicht sagen. Keine Ahnung.
†090620141300

Offline chock

  • Senior Mitglied
  • ****
  • Beiträge: 337
  • Geschlecht: Männlich
Re: Dokumente in eine andere DB kopieren
« Antwort #7 am: 26.11.04 - 18:27:26 »
Danke für die vielen Antworten, konnte das Problem lösen.

Set view2= db2.GetView("Ansicht")
Set doc2 = view2.GetFirstDocument
While Not(doc2 Is Nothing)
Call doc2.CopyToDatabase(db)
Set doc2 = view2.GetNextDocument(doc2)
Wend


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz