Autor Thema: Abfangen wenn DB nicht geöffnet werden kann  (Gelesen 3211 mal)

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Abfangen wenn DB nicht geöffnet werden kann
« 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
« Letzte Änderung: 12.11.04 - 13:08:30 von Gruenkohl »

Offline Timo Schüring

  • Frischling
  • *
  • Beiträge: 22
  • Geschlecht: Männlich
Re: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #1 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.

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #2 am: 12.11.04 - 10:01:29 »
Probiers mal mit If db.IsOpen = True Then statt If userdb.Open("", "") = True Then
†090620141300

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Re: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #3 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.

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: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #4 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
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Re: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #5 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.

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: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #6 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
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #7 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

Offline Gruenkohl

  • Aktives Mitglied
  • ***
  • Beiträge: 222
  • Geschlecht: Männlich
Re: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #8 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

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: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #9 am: 12.11.04 - 13:13:44 »
@Bernhard

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


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

Offline mr.real

  • Frischling
  • *
  • Beiträge: 2
Re: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #10 am: 12.11.04 - 13:26:32 »
joa hat denn dann jemand eine antwort jetzt???

Offline Hoshee

  • Administrator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 697
  • Geschlecht: Männlich
  • Try To Be Mensch ...
    • Syslords Solutions IT-Dienstleistungen
Re: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #11 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
Detlef

-> Syslords Solutions
*************************************
Wer dem Chef in den Hintern kriecht, muß damit rechnen, daß er ihm eines Tages zum Hals heraushängt

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #12 am: 12.11.04 - 13:46:04 »
Was soll denn hier noch für eine Antwort ausstehen?
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline ata

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Re: Abfangen wenn DB nicht geöffnet werden kann
« Antwort #13 am: 12.11.04 - 13:47:32 »
@Jens

... keine

ata
Grüßle Toni :)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz