View Full Version : Native JDBC Driver
Hallo,
wo finde ich auf meiner i5 (IFS) unter V5R3 den native JDBC Driver, sprich den DB2-Driver.
Grüße
Im iSeriesAccess Java-Toolkit.
Danke, aber in welchem Verzeichnis ?
QIBM\ProdData ..... ?
Native JDBC:
/QIBM/ProdData/Java400/ext/db2_classes.jar
Danke, gefunden.
Wie in diesem Forum auch diskutiert, kommt der Fehler
java.sql.SQLException: INTERNAL ERROR: Creation of DB2Driver object for registering with DriverManager failed.
Lt. Doku muß man hier die CCSID von 65535 ändern. Komischerweise habe ich diesen Wert gar nicht im Sytemwert.
Weiß wer den User oder den Jobnamen unter welchen die JVM auf der iSeries gestartet wird, damit ich dort die CCSID ändern kann ?
Warum willst Du denn unbedingt den nativen Treiber benutzen ? Ich persönlich habe den noch nie verwendet, sondern immer nur den Toolbox-Treiber. Da kannst Du für das CCSID-65535-Problem die Option translate binary=true angeben. Dann werden die Zeichen gemäß der Job-CCSID konvertiert. Das würde dann z.B. folgendermaßen aussehen:
// Verbindung zur iSeries aufbauen
String is_driver = "com.ibm.as400.access.AS400JDBCDriver";
String is_url = "jdbc:as400://localhost;naming=SYSTEM;translate binary=true";
Class.forName(is_driver);
Connection connection = DriverManager.getConnection(is_url);
Gruß,
KM
Hallo,
die JVM wird bei Batch Jobs im selben Job gestartet, wo java aufgerufen wird, bei Interaktiven Jobs wird ein Batch immediate nebendran geklebt, der das Environment des Jobs, der java aufruft kopiert.
mfg
Dieter Bender
Danke, gefunden.
Wie in diesem Forum auch diskutiert, kommt der Fehler
java.sql.SQLException: INTERNAL ERROR: Creation of DB2Driver object for registering with DriverManager failed.
Lt. Doku muß man hier die CCSID von 65535 ändern. Komischerweise habe ich diesen Wert gar nicht im Sytemwert.
Weiß wer den User oder den Jobnamen unter welchen die JVM auf der iSeries gestartet wird, damit ich dort die CCSID ändern kann ?
Tossenberger
23-10-07, 16:27
Für den der es will oder braucht - die Option translate binary=true funktioniert auch mit dem Native Treiber.
Gegenüber dem Toolbox Treiber konnte ich allerdings einen Unterschied ausmachen: Unter der Toolbox ist das Feld laut Resultset ein Character Feld, beim Native Treiber ein BINARY Feld. Der Zugriff via getString() liefert aber in beiden Fällen das richtige Resultat.
Getestet unter V5R3.
Gruß
RT