Seite 1 von 1

Lotus Notes und Python

Verfasst: Mittwoch 30. März 2011, 16:52
von Sync32
Hi, ich wollte paar Dinge aus meiner Notes .nsf auslesen.
Leider kommt beim Versuch, zur DB zu verbinden eine Meldung:
notes.py", line 3, in <module>
db=sess.GetDatabase("","log.nsf")
File "<COMObject Lotus.NotesSession>", line 3, in GetDatabase
com_error: (-2147352567, 'Ausnahmefehler aufgetreten.', (0, u'NotesSession', u'Session has not been initialized', None, 0, -2147217013), None)
Was mache ich falsch?

Code: Alles auswählen

import win32com.client
sess=win32com.client.Dispatch("Lotus.NotesSession")
db=sess.GetDatabase("","log.nsf")

Re: Lotus Notes und Python

Verfasst: Mittwoch 30. März 2011, 17:41
von problembär
Hmm, versuchst Du direkt aus einer Datei zu lesen oder ist das Programm "Lotus Notes" gestartet?

Re: Lotus Notes und Python

Verfasst: Mittwoch 30. März 2011, 20:22
von deets
@problembaer

Da er COM verwendet, startet er Notes.

@Sync32

Das ist denke ich zu speziell um hier wirklich Antworten zu bekommen. Denn das Problem bezieht sich auf die COM-API von Notes. Das heisst du solltest in Foren suchen, die sich mit der Notes-Programmierung beschaeftigen, oder Beispiel-Code in VB nehmen + nach Python uebersetzen.

Re: Lotus Notes und Python

Verfasst: Mittwoch 30. März 2011, 20:38
von problembär
deets hat geschrieben:@problembaer

Da er COM verwendet, startet er Notes.
Denklogisch nicht zwingend. Denn:
Sync32 hat geschrieben:Hi, ich wollte paar Dinge aus meiner Notes .nsf auslesen.
Kann doch sein, daß er denkt, er bräuchte COM, um eine ".nsf"-Datei zu lesen (was natürlich nicht der Fall ist).

Re: Lotus Notes und Python

Verfasst: Mittwoch 30. März 2011, 21:17
von deets
@problembaer

Wenn du *fragst*, ob er direkt liest, ist die Antwort nein - er schreibt ja den COM-Code hin, der fehlschlaegt. Das ist "denklogisch" schon zwingend.

Wenn du der Meinung bist, das ginge auch direkt, dann musst du das schon anders ausdruecken. Und eine nsf-Datei lesen zu koennen ist ja nicht unbedingt "natuerlich der Fall". Ich weiss zwar nicht, wie die aussieht, und vielleicht kann man der mit normalen String-Operationen zuleibe ruecken.

Aber auch wenn du technisch betrachtet in Python zB eine Word-Datei lesen kannst mit open("foo.doc").read(), hast du da ja noch lange nix von.