java.lang.UnsatisfiedLinkError beim Laden des DB2 JDBC-Treibers

8

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

zu setzen %Vor%

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.

    
stacker 18.10.2010, 07:06
quelle

6 Antworten

17

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.

    
Ian Bjorhovde 19.10.2010, 15:49
quelle
2

Haben Sie versucht, auch DYLD_LIBRARY_PATH zu setzen? Könnte einen Versuch wert sein.

    
dogbane 18.10.2010 07:24
quelle
2

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.

    
Jayan 18.10.2010 08:01
quelle
1

Fügen Sie einen "driverType = 4;" zu deiner URL.

    
Antonio Varela 07.11.2011 15:56
quelle
0

Ich konnte nirgends ein klares Beispiel finden, also stelle ich hier meine Lösung an. Was mich bereinigte, war das Hinzufügen einer xa-Datenquelle-Eigenschaft von "DriverType" Wert "4".

%Vor%     
Revoman 10.06.2016 15:31
quelle
-1

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

vermissen

Vielleicht posten Sie Ihren Klassenpfad. Sie können es bekommen, indem Sie die Eigenschaft java.class.path von der Coide lesen (wie oben).

    
Fedearne 18.10.2010 08:27
quelle

Tags und Links