Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Gruenkohl am 12.11.04 - 09:51:50

Titel: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: Gruenkohl am 12.11.04 - 09:51:50
Guten Morgen zusammen,

kann mir jemand sagen, wie ich abfangen kann, dass eine Fehlermeldung aufpoppt und mein Script abbricht, wenn sich eine DB nicht öffnen lässt?

Code
Set directory = New NotesDBDirectory(dbservers)
Set userdb = directory.GetFirstDatabase(DATABASE)

While Not (userdb Is Nothing)
   dbopen = userdb.Open("", "")
   If userdb.Open("", "") = True Then
   ....
   End if
Wend
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: Timo Schüring am 12.11.04 - 09:57:24
Code
On Error Resume Next
Set directory = New NotesDBDirectory(dbservers)
Set userdb = directory.GetFirstDatabase(DATABASE)

While Not (userdb Is Nothing)
   dbopen = userdb.Open("", "")
   If userdb.Open("", "") = True Then
   ....
   End if
Wend

.. und schau mal in der Hilfe nach, das gibt es auch die Möglichkeit spezifische Ausgaben bei Auftreten eines Fehlers zu generieren.
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: rar am 12.11.04 - 10:01:29
Probiers mal mit If db.IsOpen = True Then statt If userdb.Open("", "") = True Then
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: Gruenkohl am 12.11.04 - 10:06:30
@Action Kalle:
On Error Resume Next habe ich bisher auch verwendet. Wollte aber davon weg.

@rar:
Damit kann ich die DB aber nicht öffnen.
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: Axel am 12.11.04 - 11:31:26
Hi,

versuch's doch mal so:

Code
...
Set dbParam = New NotesDatabase("Servername", "Datenbankname")
   If Not dbParam.IsOpen Then
       Messagebox "Die Paramter-Datenbank kann nicht geöffnet werden", 16, "Projekte - Fehler"
       Exit Sub			
   End If  'If Not dbParam.IsOpen Then
...

Axel
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: Gruenkohl am 12.11.04 - 11:48:03
@ Axel:
Das geht auch nicht. Da ich die Datenbanken aus dem NotesDatenbankkatalog ziehe, kann ich keinen DB-Namen angeben zum öffnen.
db.Filepath steht erst nach dem öffnen zur Verfügung.
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: Axel am 12.11.04 - 11:58:44
db.Filepath steht erst nach dem öffnen zur Verfügung.

Hi, das kann ich so aber nicht nachvollziehen.

Code
	
	Dim dbdir As New NotesDbDirectory("DEmaGKWLN003")
	Dim db As NotesDatabase
	Set db = dbdir.GetFirstDatabase(DATABASE)
	
	Msgbox db.Server, , "Server"
	Msgbox db.FilePath, , "Datenbank"
	
	Set db = New NotesDatabase(db.Server, db.FilePath)
	If Not db.IsOpen Then
		Messagebox "Die Datenbank kann nicht geöffnet werden", 16, "Fehler"
	Else
		Messagebox "Die Datenbank wurde erfolgreich geöffnet.", 64, "Erfolg"		
	End If  'If Not dbParam.IsOpen Then
	

Hab's soeben mal damit probiert und es funktioniert. Oder hab ich da was übersehen?


Axel
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: koehlerbv am 12.11.04 - 12:54:14
Axel, das Problem ist doch ein anderes: Wenn derjenige, der den Code ausführt, kein Recht hat, eine DB zu öffnen, dann kommt es zu einem Laufzeitfehler.

Das On Error Resume Next vor dem
dbopen = userdb.Open("", "")
und sofortiges Rücksetzen auf On Error Goto ErrorHandler
ist eine Variante.

Sauber wäre m.E.
On Error lsERR_NOTES_DBNOACCESS Goto NextDatabase
dbopen = userdb.Open("", "")
On Error Goto ErrorHandler

Die Marke NextDatabase: würde dann am Ende der Schleife stehen.

Bernhard
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: Gruenkohl am 12.11.04 - 13:08:15
@koehlerbv:
Genau das meinte ich.
Ich geh dann mal davon aus, dass sich das nicht ohen ein On Error Goto lösen lässt.

Werde dass dann so machen.

Danke an alle.

Gruss Andreas
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: Axel am 12.11.04 - 13:13:44
@Bernhard

da muss ich dir recht geben. Diesen Punkt hatte ich nicht bedacht.  :-\


Axel
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: mr.real am 12.11.04 - 13:26:32
joa hat denn dann jemand eine antwort jetzt???
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: Hoshee am 12.11.04 - 13:42:28
Yoo Matthias,

immer schön langsam mit den 15jährigen Pferden.
Wir sind hier nicht im IRC und spielen auch kein Warcraft o.ä.

Wenn Du nichts konstruktives zu diesem Thread beizutragen hast, dann halte Dich zurück.

Danke ...

Hoshee
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: Semeaphoros am 12.11.04 - 13:46:04
Was soll denn hier noch für eine Antwort ausstehen?
Titel: Re: Abfangen wenn DB nicht geöffnet werden kann
Beitrag von: ata am 12.11.04 - 13:47:32
@Jens

... keine

ata