Autor Thema: NotesException: Database has not been opened yet  (Gelesen 5573 mal)

Offline Blubb

  • Frischling
  • *
  • Beiträge: 13
NotesException: Database has not been opened yet
« am: 05.12.06 - 12:19:02 »
Hallo,

Ich habe eine Applikation in Java geschrieben. Auf meinem Rechner funktioniert diese auch einwandfrei, nur nicht auf einem Server. (libraries sind alle angegeben)

Der Fehler kommt dann, wenn er eben auf diese Datenbank von Notes connecten möchte.
Ich hab jetzt nun schon alle Varianten von createSession() ausprobiert, aber leider ohne Erfolg.

createSession() rufe ich über NotesFactory auf.

Verbindung sieht also folgendermaßen aus:
(alle Varianten von createSession die hier aufgelistet sind, hab ich ausprobiert)
Code

		NotesThread.sinitThread();		
		/* create a session with full access */
		//session = NotesFactory.createSessionWithFullAccess("pw");
		//session = NotesFactory.createSessionWithFullAccess();
		//session = NotesFactory.createSession((String)null, "username", "pw" );
		//session = NotesFactory.createSession((String)null, (String)null, (String)null);
		//session = NotesFactory.createSession((String)null, "", "");
		session = NotesFactory.createSession();

		String name, server;

		name = "datenbank";
		server = "server";

		Database db = session.getDatabase(server, name);
		
		return db;

Hinzuzufügen ist, dass ich mit Angabe des Benutzernamens und Passworts die Fehlermeldung "Invalid User/pw" bekomm. Benutzername und pw sollten aber stimmen.

Danke schon mal für helfende tips.

Offline m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: NotesException: Database has not been opened yet
« Antwort #1 am: 05.12.06 - 12:55:23 »
Ich würd mir das "Invalid User/pw" Problem genauer ansehen. Ohne dem wirds nix. Lies Dir mal die Designer-Hilfe zum NotesFactory Objekt genauer durch.
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: NotesException: Database has not been opened yet
« Antwort #2 am: 05.12.06 - 15:35:22 »
Du startest das Java Programm auf dem selben Rechner, auf dem der Server ist?
Das Problem ist dabei, dass du mit dem Verbindungstyp von einem Client auf den Server zugreifen mußt!!!
Falls auf dem Server gleichzeitig noch ein Client installiert ist, dann versuch mal das folgende:
Setze im PATH des Betriebssystem das Programmverzeichnis des Clients vor dem des Servers.
Falls auf dem Server kein Client installiert ist, bleibt dir nichts anderes übrig als eine Corba Verbindung mitanzubieten.
Mußt du das Programm überhaupt vom Server starten?
Hier bei mir auf der Arbeit gibts auch Leute, die "unbedingt" ohne Crosszertifizierung auf einen Server in einer VM Ware zugreifen, auf den der Client natürlich nicht crosszertifiziert ist und dessen Sicherheitseinstellungen nicht umgestellt werden müssen. Auch da soll man mit einem Java Programm zugreifen können. Das geht natürlich nicht. Beide Connection Typen (d.h. local-rfc und corba) biete ich schon an. Du verwendest rfc und das funktioniert nur, wenn das Programmverzeichnis eines Notes Clients IM PFAD DES BETRIEBSSYSTEM drin steht. NOTES CLIENT. NICHT NOTES SERVER.
Diese Java Klassen sind nur ein dünner wrapper um die Notes Remote Function Call Architektur und die funktioniert offenbar nicht mit einem Server als Client-Endpunkt.
Die Einrichtung einer Corba-Verbindung  in Notes ist nicht unbedingt einfach. Aber das ist ein anderes Thema.
Die Auswahl, ob Corba Connection oder RFC-local verwendet wird, wird übrigens einfach nur durch die (überladenen) NotesFactory.createSession...() bestimmt. Je nach Parameter gibts eine Corba oder eine local-rfc Verbindung. Steht zwar in der Doku, welche Parameter welchen Connectiontyp ergeben. Heut würd man das aber trotzdem expliziter kennzeichnen. Dieses feature der Api läßt sich nur damit erklären, dass Architekten in den 90ern von "völlig transparenten Netzwerken" träumten. So etwas gibts natürlich in der realen Welt nicht.
« Letzte Änderung: 06.12.06 - 09:12:51 von Axel Janssen »
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: NotesException: Database has not been opened yet
« Antwort #3 am: 06.12.06 - 08:08:17 »
Habs versucht nochmal deutlicher zu machen.
Frag bitte, wenn dir was nicht klar ist.
Du bist in einer nicht offensichtlichen Falle, wenn du versuchst, local-RFC Connections von der Server-Box aus zu starten. Das ist imnsho absolut unter-dokumentiert.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline Blubb

  • Frischling
  • *
  • Beiträge: 13
Re: NotesException: Database has not been opened yet
« Antwort #4 am: 07.12.06 - 12:15:38 »
So, ich habs gelöst.  ;D

Also das Programm muss von dem Server aus laufen.
Die Klassenpfade (hatt ich schon gemacht) und den gesamten Notes-Ordner hats gebraucht.

Das ganze läuft jetzt über CORBA. Hatte das auch schon probiert, nur ist auf unserem Notes Server der Dienst für den DIIOP nicht gelaufen. Gestartet, und schon hats funktioniert.
Nun funzt das einwandfrei über createSession(url, user,pw).

Danke für die Hilfe.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz