Das Notes Forum

Lotus Notes / Domino Sonstiges => OLE/COM-Programmierung => Thema gestartet von: Fabi94 am 22.08.16 - 15:23:44



Titel: session.GetDatabase --> System.AccessViolationException (C#)
Beitrag von: Fabi94 am 22.08.16 - 15:23:44
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
}
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.
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.

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.


Titel: Re: session.GetDatabase --> System.AccessViolationException (C#)
Beitrag 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"


Titel: Re: session.GetDatabase --> System.AccessViolationException (C#)
Beitrag 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");



Titel: Re: session.GetDatabase --> System.AccessViolationException (C#)
Beitrag von: Fabi94 am 24.08.16 - 14:08:43
Domino- Server schreibt man in der Domino- Schreibweise, nicht fully qualified: "einServer/Cert" statt "einServer.eine-domäne.com"

Das hat leider so auch nicht funktioniert :/

Wenn ich es richtig erinnere, wird die Session unter c# anders initialisiert

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



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!