Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Fanker am 01.11.12 - 11:35:58

Titel: Error 4063
Beitrag von: Fanker am 01.11.12 - 11:35:58
Hallo,

bei diesem Aufruf erhalte ich den Fehler: Error 4063 Database has not been opened yet

Function Mail()
   Dim dbverz As NotesDbDirectory
   Dim verz As String
   
   Dim session As New NotesSession
   Dim dbmail As NotesDatabase
      
   
   verz = "SERVERMAIL"
   Set dbverz = New NotesDbDirectory(verz)
   Set dbmail = dbverz.GetFirstDatabase( Database )
   Set dbmail = session.CurrentDatabase

   

   Do While Not (dbmail Is Nothing)
      On Error Resume Next

      If Left(dbmail.Filepath,5) = "mail\" Then
         On Error GoTo err_Dbmail
         
         Dim dbcol As NotesNoteCollection
         Dim dbdoccol As NotesDocumentCollection
         Dim dbdoc As NotesDocument
         
         Set dbdoccol = dbmail.GetProfileDocCollection()



Domino 8.5.2FP3
Domino Administrator mit allen rechten.

Was mache ich falsch? Ich möchte alle Profildokumente durchlaufen, sofern
vorhanden.



Titel: Re: Error 4063
Beitrag von: WildVirus am 01.11.12 - 12:30:10
Hallo Namenloser ;),

wie wäre es mit einem vernünftigen Errorhandling ?

Hast Du überhaupt die Rechte auf die DB ?

Bei welcher DB tritt der Fehler auf ?

Und bevor Du mit
Code
Do While Not (dbmail Is Nothing)
auf eine DB losgehst, solltest Du vorher prüfen, ob überhaupt eine geöffnet wurde.

Was passiert, wenn der Agent mit den Rechten des Domino läuft ?

Und ich verstehe nicht, warum Du erst 
Code
Set dbmail = dbverz.GetFirstDatabase( Database )
und dann noch 
Code
Set dbmail = session.CurrentDatabase
machst. Welche DB willst Du jetzt prüfen ?

CU,
Axel
Titel: Re: Error 4063
Beitrag von: Ralf_M_Petter am 01.11.12 - 12:34:55
In welcher Zeile erhälst du den Fehler? Auf welcher Plattform? Am Server oder am Client? Fragen über Fragen...

Was aber komisch erscheint ist folgener Absatz:

Set dbmail = dbverz.GetFirstDatabase( Database )
Set dbmail = session.CurrentDatabase


Warum setzt du zuerst dbmail nur um es in der nächsten Anweisung wieder zu überschreiben?

Grüße

Ralf
Titel: Re: Error 4063
Beitrag von: Fanker am 01.11.12 - 13:01:20
Ich habe als Domino Administrator den Agenten über Debugger gestartet.
Ich möchte alle 'Mail'-DB's durchlaufen, welche im Verzeichnis Mail\ stehen
alle anderen sollen übersprungen werden.

Ich habe angenommen, dass ich nachdem eine db gefunden wurde, eine Notesession für die weitere Verarbeitung erforderlich ist. Vielleicht liegt ja hier schon das Problem?

Die Fehlermeldung kommt bei der Zeile

Set dbdoccol = dbmail.GetProfileDocCollection()

und wird durch

On Error GoTo err_Dbmail

err_Dbmail:
  Print("Fehler: " & CStr(Err) & " " &  Error$)
  Resume Next


aufgefangen, Daher habe ich die Fehlermeldung.

Danke für die Unterstützung

 
Titel: Re: Error 4063
Beitrag von: WildVirus am 01.11.12 - 13:09:17
Hast Du denn Zugriff auf die Mail-DBs der Mitarbeiter ?

Unsere Admins würden standrechtlich erschossen, wenn sie das einfach so machen würden !
Titel: Re: Error 4063
Beitrag von: Peter Klett am 01.11.12 - 13:15:26
Wenn Du Dir das mit dem Debugger anschaust, würde ich das Errorhandling auskommentieren, dann siehst Du sofort, wo es hängt.
Titel: Re: Error 4063
Beitrag von: koehlerbv am 02.11.12 - 13:17:56
Abgesehen von den anderen Mängeln des Codes, die schon genannt worden sind: Die eigentliche Fehlermeldung hier kommt durch falsche Deklaration der NotesDatabase zustande. Es muss sein:
Dim dbMail As New NotesDatabase ("", "").

Bernhard
Titel: Re: Error 4063
Beitrag von: umi am 02.11.12 - 14:02:55
Hallo

Ich tippe jetzt mal auf das GetFirstDatabase()

The first database, of the specified fileType%, located in the directory. The database is closed. To open it, use the Open or OpenIfModified method in NotesDatabase.
Titel: Re: Error 4063
Beitrag von: HH am 05.11.12 - 13:15:24
Hallo,

abgesehen vom eigentlichen Code...

Datenbanken, auf die über NotesDbDirectory zugegriffen wird, sind per default nicht geöffnet (s. Debugger: isopen = false). Es stehen dann nur sehr wenige Eigenschaften zur Verfügung.

Also erst expliziert öffnen und dann auf Dokumente zugreifen.

Hubert