Ich versuche, jboss-seam mit einer Datenbank db2 zu verwenden, der folgende Fehler tritt auf
%Vor% Ich habe versucht, -Djava.library.path=/opt/IBM/db2/V9.5/lib64
sowie
Beide Pfade enthalten libdb2jcct2.so
Ich habe auch versucht, LD_LIBRARY_PATH
ohne Effekt zu setzen.
OS ist MacOs
BEARBEITEN Ich habe auch versucht, einen JDBC4-Treiber zu verwenden, db2jcc4.jar, da jdbc4-Treiber sich nicht auf native libs verlassen sollten.
Der IBM Data Server-Treiber für JDBC und SQLJ enthält sowohl JDBC-Treiber vom Typ 2 als auch vom Typ 4. Bitte überprüfen Sie Folgendes:
1) Stellen Sie sicher, dass sich der Treiber in Ihrem Klassenpfad befindet: db2jcc.jar. Alternativ können Sie den JDBC4-Treiber (db2jcc4.jar) verwenden, aber nicht beide in den Klassenpfad.
2) Stellen Sie sicher, dass Sie den JCC-Treiber ( com.ibm.db2.jcc.DB2Driver
) in Ihrer App-Konfiguration angeben.
3) Verwenden Sie eine URL vom Typ 4 wie jdbc:db2://server:port/database
. Wenn Sie eine Typ-2-URL wie jdbc:db2:database
angeben, sucht der Treiber nach systemeigenen Bibliotheken.
Aus dem Pfad sieht dies eine Linux / Unix-Plattform aus. Versuchen Sie, strace / truss auszuführen, um zu sehen, welche Verzeichnisse für die Bibliothek geöffnet werden.
Wenn die java.library.path
(zugewiesen mit LD_LIBRARY_PATH env. Variable) falsch ist, sollten Sie tatsächlich etwas erhalten wie: "Fehler beim Laden von t2 native Bibliothek".
Sie können java.library.path
überprüfen, ob der Pfad wie folgt enthalten ist.
System.out.println(System.getProperty("java.library.path"));
Könnten Sie ein anderes Glas wie db2jcc_license_cu.jar
Vielleicht posten Sie Ihren Klassenpfad. Sie können es bekommen, indem Sie die Eigenschaft java.class.path
von der Coide lesen (wie oben).