Autor Thema: Jars bzw. Resourcen in Agenten einbinden  (Gelesen 6457 mal)

Offline Hrtgpdh

  • Frischling
  • *
  • Beiträge: 13
  • Geschlecht: Männlich
Jars bzw. Resourcen in Agenten einbinden
« am: 25.02.09 - 08:22:59 »
Um einen Datenabgleich mit einer Firebird- Datenbank zu gewährleisten, habe ich einen Java- Agenten geschrieben. Der funktioniert so weit gut auf meinem lokalen System, aber bei einer Portierung auf das Live-  System bestehen Probleme mit der Registrierung der JDBC- Klassen(jaybird2.1.6 von sourceforge).

Mein Ziel ist es, wenn möglich das JDBC- jar mit in das Projekt zu kompilieren und dann so auszuliefern. Ist das so möglich, und falls ja welche Einstellungen, muß ich vornehmen?

Lokal habe ich das jar im Verzeichnis Notes/jvm/lib/ext liegen, da funktioniert es problemlos.

Das verwendete System ist Notes/Domino 8.02.


Gruß Hartwig

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #1 am: 25.02.09 - 08:30:00 »
Du kannst in dem Java Agenten direkt Jar-Dateien hinzufügen, man kann sich auch eine Java-Bibliothek mit den ganzen Jar Dateien erstellen und dem Projekt hinzufügen.
Das findest Du alles beim Agenten unten links "Projekt bearbeiten"
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline Hrtgpdh

  • Frischling
  • *
  • Beiträge: 13
  • Geschlecht: Männlich
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #2 am: 25.02.09 - 09:06:21 »
Die Option habe ich bereits gefunden ;), und auch genutzt, aber wenn ich das jar einbinde (für Server- Version richtiger Treiber (laut Doku)) und laufen lassen bekomme ich:
Agent Manager: Agent  error: java.sql.SQLException: No suitable driver

Die Frage ist nun, findet er keinen Treiber, ist der Treiber falsch....

Hatte ein ähnliches Problem am Anfang auch lokal, seitdem der Agent einmal gelaufen ist, braucht er nur noch das jar im Projekt,wie gesagt ich habe es einmal unter notes/jvm/lib/ext einbinden müssen??

Bei einem zweiten Test- System war es genau das selbe.

Offline jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #3 am: 25.02.09 - 09:26:54 »
Wenn er lokal läuft dann geht es?
Ich hab mal eine Oracle-JDBC Anbindung gemacht und habe die Oracle-JDBC-Klassen in den Agenten gepackt, das hat super funktioniert.

Wobei deine Fehlermeldung deutet ja drauf hin das der Fehler beim SQL-Statement--Ausführen kommt, kannst Du nicht mal prüfen ob das Einbinden des Treibers fehlerfrei läuft?

Hier fehlt jetzt irgendwie der Code um schlauer zu werden ;)   
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline Hrtgpdh

  • Frischling
  • *
  • Beiträge: 13
  • Geschlecht: Männlich
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #4 am: 25.02.09 - 09:56:54 »
Lokal funktioniert es problemlos (seit dem ich das jar einmal in das Bibliotheks- Verzeichnis kopiert habe).

  //Versuchen eine Verbindung zur Firebird- Datenbank herzustellen
  Class.forName( "org.firebirdsql.jdbc.FBDriver" ).newInstance();

  -Der Code-      
  String m_sDBConn, sUsr, sPwd;
  //Pfad und Name der Datenbank sind fix hinterlegt
  m_sDBConn = "jdbc:firebirdsql://jk-app2/"+"E:/Scoreline/ILine5/IL5_Server/Data/JKComputer_IL5.GDB";
  //Standard User und Passwort einer Interbase/Firebird- Datenbank wird verwendet
  sUsr = "SYSDBA";
  sPwd = "masterkey";
  m_cn = DriverManager.getConnection( m_sDBConn, sUsr, sPwd );


Ich habe den Treiber vor dem laden auch schon explizit registriert --> es wurde keine Exception geworfer, aber der Fehler kam immer noch????
         

Online m3

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #5 am: 25.02.09 - 10:09:20 »
Der Agent läuft am Domino, sehe ich das korrekt?
Und Domino läuft auf einer Windows-Box?
Und der Agent will auf eine Datenbank im Netzwerk zugreifen, wenn ich den Connectionsstring korrekt lese.

Daher (wieder einmal) meine Frage: Hat der Windows-Benutzer, unter dem der Domino-Server läuft, ausreichend Rechte, um auf die Ressource im Netzwerk zuzugreifen? (Üblicherweise nicht, da dem SYSTEM Account diese Rechte fehlen).

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 jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #6 am: 25.02.09 - 10:13:50 »
@m3: Dann kommt ja so etwas wie "Verbindung konnte nicht aufgebaut werden" hier kommt aber ein "Treiber nicht korrekt" Fehler

Hast Du die Firebird Bibliothek jetzt im Verzeichnis oder im Agenten? Ich denke Du musst die im Agenten haben und aus dem Verzeichnis löschen, weil dem Domino kann man nicht so ohne weiteres eine Jar-Datei unterschieben ;)
Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline Hrtgpdh

  • Frischling
  • *
  • Beiträge: 13
  • Geschlecht: Männlich
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #7 am: 25.02.09 - 10:24:02 »
Lokal zum testen und entwickeln original auf dem Verzeichnis, nach einiger Zeit(02.02.) habe ich sie lokal gelöscht und im Agenten eingefügt.
Stand der Dinge heute: die Firebird- Bibliothek ist (lokal) nur noch im Agenten, und läuft dort.

Problem ist portierung auf den Server.

Gruß Hartwig

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #8 am: 25.02.09 - 10:30:41 »
Ich würd auf dem Server zunächst einmal das lib/ext Verzeichnis suchen.
Tu dein Firebird-Treiber erstmal da rein.
Starte den Server neu.

Müßte dort sein:
\Notes8_Programm\jvm\lib\ext
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 jBubbleBoy

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.277
  • Geschlecht: Männlich
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #9 am: 25.02.09 - 10:32:37 »
@axel: Warum funktioniert das nicht mit dem Agent und "All In"?

Gruss Erik :: Freelancer :: Notes, Java, Web, VBA und DomNav 2.5 / NSE 0.16
--
Nur ein toter Bug, ist ein guter Bug!

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #10 am: 25.02.09 - 10:35:24 »
Weiss nicht. 
Es könnte vielleicht eher am
<code>
m_sDBConn = "jdbc:firebirdsql://jk-app2/"+"E:/Scoreline/ILine5/IL5_Server/Data/JKComputer_IL5.GDB";
</code>
Das sieht merkwürdig aus.
Müsste man sich mal anschauen, wie man für Firebird solche Strings aufbaut, wenn man auf einem Firebird auf einer anderen Kiste zugreift.

Ich find im Web sowas:
jdbc:firebirdsql:localhost/3050:c:/Temp/Test.FDB
3050 könnte eine Portangabe sein.
Vielleicht so die Art:
jdbc:firebirdsql:<ipAdresse>/3050:E:/Scoreline/ILine5/IL5_Server/Data/JKComputer_IL5.GDB
« Letzte Änderung: 25.02.09 - 10:41:29 von Pitiyankee »
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 Hrtgpdh

  • Frischling
  • *
  • Beiträge: 13
  • Geschlecht: Männlich
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #11 am: 25.02.09 - 11:01:08 »
Momentan greife ich auch von meinem Arbeitsplatz aus, auf diesen Server zu. Lokal ist das kein Problem.
Für das Produktiv- System sollte es auch kein Problem darstellen, dieses liegt auf dem gleichen Cluster, und hat auch alle Berechtigungen für den Zugriff.


Danke für die Hilfe  :D


Offline Hrtgpdh

  • Frischling
  • *
  • Beiträge: 13
  • Geschlecht: Männlich
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #12 am: 26.02.09 - 08:25:41 »
Habe gestern noch das JDBC- jar auf dem Produktiv- Systeme installiert, seitdem funktioniert es tadellos. Kann sich das irgendwer erklären?????

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #13 am: 26.02.09 - 19:24:36 »
Habe gestern noch das JDBC- jar auf dem Produktiv- Systeme installiert, seitdem funktioniert es tadellos. Kann sich das irgendwer erklären?????

Was hast du getan?
a) du hast das jar File, das wo das JDBC macht, in einen Pfad getan, der in der OS-Umgebungsvariable CLASSPATH definiert ist.
b) du hast das jar File, das wo das JDBC macht, in den lib/ext Pfad des Domino Servers getan.
c) ???
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 Hrtgpdh

  • Frischling
  • *
  • Beiträge: 13
  • Geschlecht: Männlich
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #14 am: 27.02.09 - 09:00:52 »
Guten morgen,

ich habe das jar- File in den lib/Ext Pfad des Domino- Servers kopiert.

Schönes Wochenende  :D

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #15 am: 01.03.09 - 00:45:13 »
Ein ClassNotFound hatte ich mit einer Einbindung des jdbc-Treibers im Agenten selbst hatte ich noch nie. Aber andere kuriose Probleme.
Das war ein Type 2 oder 3 JDBC Treiber und der meldete kuriose Connection Fehler aus dem JNI, sobald das resultset eine bestimmte Größe überstieg. Hatte diese Probleme nicht, nachdem ich den Treiber in lib/ext getan hab.
Ein Agent hat in Notes einen eigenen Classloader.
Hierarchisch drüber liegen die Classloader für CLASSPATH Umgebungsvariable und lib/ext.
Theoretisch ist die Konstruktion nicht schlecht. Macht jeden Agenten unabhängiger von anderen Agenten.
Aber irgendwie ist das auch verzwurbelt.
Ich find, dass man gerade JDBC-Treiber ruhig ins lib/ext tun kann.
Erschwert natürlich das deployment.
Aber ansonsten sind die JDBC-Treiber schon abwärtskompatibel, so dass es da keine Versionierungsprobleme gibt, wenn es andere Anwendungen gibt, die eine frühere Version des JDBC Treibers erwarten.

Die Art wie Notes mit Java umgeht ist schon recht speziell. Merkt man allein dadran, dass es 14 Monate nach der Ankündigung auf der Lotussphere 2008 bezüglich eines Eclipse-gestützten LotusScript Editors immer noch keinen Eclipse basierten JAVA Editor für Notes-Designer 8.5 gibt!!!
Aber Enterprise Software ist halt verzwurbelt. Jede
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 Hrtgpdh

  • Frischling
  • *
  • Beiträge: 13
  • Geschlecht: Männlich
Re: Jars bzw. Resourcen in Agenten einbinden
« Antwort #16 am: 02.03.09 - 10:23:02 »
Mal schauen was wir noch an Kuriositäten finden  ;), bisher war ich hauptsächlich in C++(VSS) bzw. Java unterwegs und habe mich da schon an die eine oder andere Annehmlichkeit gewöhnt. Den Agenten der jetzt auf dem Produktiv- System läuft, habe ich mittels Eclipse entwickelt, und dann zu Notes portiert.

Danke für die Hilfe  :D

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz