Lotus Notes / Domino Sonstiges > OLE/COM-Programmierung

session.GetDatabase --> System.AccessViolationException (C#)

(1/1)

Fabi94:
Hallöchen community,

Ich bin's mal wieder.
Wenn ich probiere über C# ein Programm zu schreiben welches auf einer Datenbank zugreift  welche auf einem server leigt, schmeißt die Funktion eine System.AccessViolationException.
Es folgt der Quellcode:

--- Code: ---try
{
    NotesSession session = new NotesSession();
    session.Initialize("ein_Passwort");

    NotesDatabasedatabase = session.GetDatabase("einServer.eine-domäne.com", "Eine_Datenbank.nsf", false);
}
catch(Exception)
{
    //Handele zeug
}

--- Ende Code ---
Der Code kann auf einer lokalen Datenbank ohne Fehler ausgeführt werden ("einServer.eine-domäne.com" durch "" ersetzen)
und im Lotus Notes client kann ich mich ungehindert mit der Datenbank verbinden.

Der Fehler:
--- Zitat ---Ein Ausnahmefehler des Typs "System.AccessViolationException" ist in DominoTaskV0.2.exe aufgetreten.
--- Ende Zitat ---
Zusätzliche Information:
--- Zitat ---Es wurde versucht, im geschützten Speicher zu lesen oder zu schreiben. Dies ist häufig ein Hinweis darauf, dass anderer Speicher beschädigt ist.
--- Ende Zitat ---

Wie Eingangs erwähnt wird dieser Fehler beim ausführen von session.GetDatabse() geworfen, bzw tritt hier auf.
Hat einer von euch einen Lösungsansatz?

PS: Achja der try-catch-block fängt den geworfenen Fehler nicht auf, keine Ahnung warum.

Tode:
Domino- Server schreibt man in der Domino- Schreibweise, nicht fully qualified: "einServer/Cert" statt "einServer.eine-domäne.com"

eknori (retired):
Wenn ich es richtig erinnere, wird die Session unter c# anders initialisiert


--- Code: ---NotesSession s = new Domino.NotesSessionClass();
s.Initialize("MyPassword");
--- Ende Code ---

Fabi94:

--- Zitat von: Tode am 22.08.16 - 16:48:31 ---Domino- Server schreibt man in der Domino- Schreibweise, nicht fully qualified: "einServer/Cert" statt "einServer.eine-domäne.com"

--- Ende Zitat ---

Das hat leider so auch nicht funktioniert :/


--- Zitat von: eknori am 22.08.16 - 17:50:00 ---Wenn ich es richtig erinnere, wird die Session unter c# anders initialisiert


--- Code: ---NotesSession s = new Domino.NotesSessionClass();
s.Initialize("MyPassword");
--- Ende Code ---



--- Ende Zitat ---

Es scheint so als ob beide wege Funktionieren. Hab dein Weg aber nicht getestet ;)

Danke euch beiden für die rasche Antwort!
Ich habe übrigns mittlerweile das Problem behoben.
Ich hab einfach Notes deinstalliert, alle Registry Einträge gelöscht und wieder reinstalliert.

Hat das Problem super behoben!

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln