Domino 9 und frühere Versionen > ND8: Entwicklung
Zugriff auf Inbox läuft ins leere...
ata:
Hallo @all
folgendes Problem nervt - ich intialisiere über LS die Inbox...
Dim session As New NotesSession
Dim db As NotesDatabase
Dim vwInbox As NotesView
Set db = session.CurrentDatabase
Set vwInbox = db.getView( "($Inbox)" )
Set doc = vwInbox.getFirstDocument ' und hier hängt er bereits
...
...um darin enthaltene Dokumente zu analysieren. das funktioniert über sehr viele Datenbanken sehr gut - und dann - von jetzt auf nachher kann er einen Ordner in einer DB nicht mehr initialisieren, sondern hängt sich auf. Es erscheint keine Fehlermeldung - der Code hängt sich einfach auf. Kennt jemand das Problem?
Fixup und compact bringen übrigens keine Besserung - ich denke der Ordner hat einen "Hau" ab - lässt sich aber nicht fixen. Hat jemand auch das Problem?
Toni
Ralf_M_Petter:
nun wenn du ein Problem mit dem Index vermutest, solltest du Updall mit der Option zum neuerstellen sämtlicher indizes probieren.
ata:
... der fixup / updall löst das Problem insofern nicht, als das ich den Fehler abfangen muß. Ich habe mich in meiner Beschreibung falsch ausgedrückt. Der fixup repariert den Ordner - nur sollte ich zur Laufzeit des Agenten erkennen, ob er sich an einem beschädigten Ordner aufhängt. Ich kann nicht auf Verdacht hin für jede DB einen fixup starten und dann der eigentlichen Aufgabe nachkommen, die Ordner zu analysieren - das sprengt den Rahmen...
Bei der Initialisierung des ersten Dokumentes aus dem Ordner hängt er sich auf - wie kann ich das "Aufhängen" erkennen - oder wie komme ich an die Dokumente des beschädigten Ordners heran...
Toni :-:
Ralf_M_Petter:
Da weiß ich keine Lösung dazu, aber ich denke wenn man schon weiß, dass man defekte Datenbanken hat, sollte man auf jeden Fall diesen zugrunde liegenden Fehler fixen. Auch Code in der Mailschablone verwendet ähnliche Codesegmente wie du sie geschrieben hast und die würden dann auch zu hangs führen.
Grüße
Ralf
BigWim:
vielleicht als Ansatz - ich würde es in diesem Fall so versuchen.
Einen zusätzlichen Hilfsagenten erstellen, der in einem zentralen Dokument schreibt oder ein eigenes Dokument anlegt und sich dann nur das erste Dokument aus der View holt.
Bei Erfolg wird das zuvor angelegt Dokument gelöscht oder ein entsprechendes Flag gesetzt.
Der eigentliche Agent startet später und prüft zuvor, ob es ein Dokument gibt oder ein entsprechendes Flag gesetzt ist. Im Fehlerfall meldet er die Datenbank und beendet sich. Im Gutfall erledigt er seine Arbeit.
Oder der Hilfsagent startet den eigentlichen Agenten im Erfolgsfall direkt.
So hast Du zumindest eine Art Übersicht, welche Datenbanken defekt sind und wenn sie einmal repariert sind, ob sie wieder Streß machen ....
Oder kann der eigentliche Agent selbsttätig die Reparatur anstoßen?
Viel Erfolg
Markus
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln