Autor Thema: db.open(): Was tun falls Berechtigungen fehlen?  (Gelesen 3389 mal)

Offline PeterD2

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Ich liebe dieses Forum!
db.open(): Was tun falls Berechtigungen fehlen?
« am: 17.05.05 - 18:03:38 »
Ich muß gerade so eine Art Mailrückruf Agenten schreiben, der eine bestimmte Mail aus den Mail-Datenbanken der Benutzer löscht. Dazu muß ich die Datenbanken eines NotesDBDirectory der Reihe nach öffnen, um zu schauen ob die betreffende Mail darin enthalten ist. Der Agent läuft unter dem Namen des Servers, auf dem die Datenbanken liegen. Trotzdem lassen sich einige Datenbanken aufgrund mangelnder Zugriffsrechte nicht öffnen. Nicht schlimm, mache ich eben mit der nächsten Datenbank weiter. Das Problem ist nur, daß trotz "on Error goto" Statement gleich das ganze Skript abbricht, sobald eine Datenbank erwischt wird, bei der die Rechte zum Öffnen der Datenbank nicht reichen. Sorry, bin ein bischen eingerostet, die Lösung liegt sicher in einer falschen Fehlerbehandlung. Kann mir jemand helfen?

Danke im Voraus
Peter

P.S: Nein ich baue keinen Spamfilter, habe nur den obigen Betreff zum Testen eingesetzt

Code
Sub Initialize
	Dim dbdir As New NotesDbDirectory("Entwicklung")
	Dim db As NotesDatabase
	Dim dbname As String
	Dim view As NotesView
	Dim vc As NotesViewEntryCollection
	Dim doc As NotesDocument
	Dim entry As NotesViewEntry
	
	On Error Goto breakpoint
	
	Set db = dbdir.GetFirstDatabase(DATABASE)
	searchString="Auslaenderkriminalitaet steigt weiter! :Id:4360:" 
	
	While Not(db Is Nothing)
		dbname = db.DesignTemplateName
		If dbname Like "*Mail*"Then
			Call db.Open( "", "" )
			Set view = db.GetView("($All)")
			Set vc = view.AllEntries
			If vc.count>0 Then
				Set entry= vc.GetFirstEntry()
				While Not entry Is Nothing
					Set doc=entry.Document
					
					If doc.subject(0)=searchString Then
						Msgbox  "Mail mit Thema: "+searchString+" in Datenbank "+db.filename+ " gefunden.", , db.Title
					End If
					Set entry= vc.GetNextEntry(entry)
					
				Wend
			End If
			
		End If
		
breakpoint:
		Set db = dbdir.GetNextDatabase
	Wend
End Sub

Offline PeterD2

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Ich liebe dieses Forum!
Re: db.open(): Was tun falls Berechtigungen fehlen?
« Antwort #1 am: 17.05.05 - 18:21:47 »
Arrghh, was so ein kleines vergessenes "Resume next" doch bewirkt. Sorry!  :-[

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.728
  • Geschlecht: Männlich
Re: db.open(): Was tun falls Berechtigungen fehlen?
« Antwort #2 am: 17.05.05 - 18:47:09 »
ich würde den Agenten mal gaaaaanz vorsichtig mit der ID des Servers signieren ...

My 2 Cent:

deine Aktion ist rechtlich höchst bedenklich ...
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline PeterD2

  • Junior Mitglied
  • **
  • Beiträge: 83
  • Ich liebe dieses Forum!
Re: db.open(): Was tun falls Berechtigungen fehlen?
« Antwort #3 am: 17.05.05 - 23:21:24 »
Ja klar, entsprechend signiert ist der Agent.

Was den rechtlichen Part angeht gebe ich Dir prinzipiell ebenfalls Recht, und ich bin mir auch der rechtlichen Haftung eines Admins- /Programmieres bei einer solchen Aktion bewusst. Glaub´mir wir haben die Optionen in diesem Fall reichlich abgewogen. Wie es der Zufall wollte, hatte ich gerade am Wochende einen entsprechenden Artikel in der aktuellen IX gelesen, in dem es genau darum ging was ein Admin darf, und wie er für seine Eingriffe u.U. haftet. Aber glaube mir: Diese Mail MUSS aus den Mailboxen raus, da hebt sogar der Betriebsrat in mir die Daumen.

Gruß
Peter

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: db.open(): Was tun falls Berechtigungen fehlen?
« Antwort #4 am: 17.05.05 - 23:24:35 »
Hmm, wenn so ein Maildokument raus MUSS, müsste man da nicht eher den Versender dieses Dokumentes ........ ??
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 TMC

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.660
  • Geschlecht: Männlich
  • meden agan
Re: db.open(): Was tun falls Berechtigungen fehlen?
« Antwort #5 am: 17.05.05 - 23:35:55 »
Sorry, ich wiederhole jetzt Bedenken -- wir hatten irgendwo hier schon mal eine solche Diskussion:

Zitat
Trotzdem lassen sich einige Datenbanken aufgrund mangelnder Zugriffsrechte nicht öffnen. Nicht schlimm, mache ich eben mit der nächsten Datenbank weiter.
Was heißt hier nicht schlimm? Also egal, wenn nicht alle gelöscht werden?

Wie auch immer:
Sobald ein Mitarbeiter mitbekommt, dass eine Mail fehlt, dann geht das rum wie ein Lauffeuer. Ist doch immer so. Und wenn es nur beiläufig bei der Kaffee/Zigaretten-Pause erwähnt wird. Ein Kollege sagt dann "da muss ich bei mir auch mal nachschauen". Trifft man sich wieder, kommt dann: stimmt, ist bei mir auch weg. Dann kommt gerade der Außendienst-MA rein, Laptop unter'm Arm. Sieht nach, und bei dem ist die Mail noch da. Er leitet die Mail erstmal an die Kollegen weiter..........

Nur ein Szenario von vielen möglichen. Dass sowas niemand mitbekommt, kann ich mir fast nicht vorstellen, außer es ist ein 5Mann-Betrieb.
Matthias

A good programmer is someone who looks both ways before crossing a one-way street.


Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: db.open(): Was tun falls Berechtigungen fehlen?
« Antwort #6 am: 18.05.05 - 07:55:41 »
Und beim 5Mann Betrieb passiert es nicht, weils da nicht draufankommt
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

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz