Lotus Notes und Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Sync32
User
Beiträge: 141
Registriert: Mittwoch 27. Januar 2010, 12:42

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")
Zuletzt geändert von Anonymous am Mittwoch 30. März 2011, 17:30, insgesamt 1-mal geändert.
Grund: "Lotus" im Titel hinzugefügt.
problembär

Hmm, versuchst Du direkt aus einer Datei zu lesen oder ist das Programm "Lotus Notes" gestartet?
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.
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).
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.
Antworten