# JDBC auf ISeries/AS400



## ZeusOfCrete (30. Jun 2004)

Hallo Forum    ,

ich möchte mit Java/JDBC von einer ISeries aus auf eine
IBM-DB2 Datenbank unter Windows NT connecten (IBM-Webspehre-Com.)

Folgende Treiber stehen mir auf der Iseries zur Verfügung:

Typ 4 Pure Java:  com.ibm.as400.access.AS400JDBCDriver (jt400.jar)
Typ 2 Native:       com.ibm.db2.jdbc.app.DB2Driver (db2_classes.jar)


Fehlermeldungen:
===========

Bei jt400.jar:
-----------------------

Verbindungsaufbau mit DB-Alias:
java.sql.SQLException: The application requester cannot establish the connection. (DB-ALIAS)
Verbindungsaufbau mit System-Name:
java.sql.SQLException: The application requester cannot establish the connection.(Connection refused: connect)

Bei db2_classes.jar:
-----------------------
Mit CCSID 273:
java.sql.SQLException: SQL-Paket éëé<”￾￾éë in Bibliothek *N auf DRDA-Server nicht gefunden
Ohne CCSID Angabe:
java.sql.SQLException: No suitable driver

Meine RGP-Kollegen erstellen SQL-Pakete über das Command CRTSQLPKG (Create SQL PACKAGE).

Muß ich das über Java auch machen ? Und wenn, wie ?

Kurz und gut: H I L F E !! 

Viele Grüße

Zeus


----------



## nollario (1. Jul 2004)

hi!

kannst du evtl mal code posten, wie du die verbindung initialisierst..... ?

vor allem welche parameter du nutzt: url + drivername?

hilft dir folgender thread evtl weiter, ist eine ähnliche fehlermeldung: http://archive.midrange.com/java400-l/200312/msg00167.html


----------



## ZeusOfCrete (1. Jul 2004)

Hallo nollario,

vorab erstmal vielen Dank für Deine Antwort.

Die Initalisierung der Verbindung sieht wie folgt aus:


```
try {

                Class.forName("com.ibm.db2.jdbc.app.DB2Driver");

                } catch (ClassNotFoundException exc) {
                   InitUpdf.makeProt("Could not load DB2Driver:" + exc.toString());
	   return;
	}

                String URL = "jdbc:db2:"+server;
                Connection con = DriverManager.getConnection(URL, dbuser, dbpass);
```


```
try {

                Class.forName("com.ibm.as400.access.AS400JDBCDriver");

                } catch (ClassNotFoundException exc) {
                   InitUpdf.makeProt("Could not load DB2Driver:" + exc.toString());
	   return;
	}

                String URL = "jdbc:as400:+server";
                Connection con = DriverManager.getConnection(URL, dbuser, dbpass);
```

Die Info aus Deiner URL verfolge ich weiter, es scheint tatsächlich ein Problem mit der
CCSID zu sein. Evtl. kann ich das CharacterSet beim jeweiligen Verbindungsaufbau
einstellen - (über Properties?!) - wäre ideal, da ich aus einer Anwendung heraus auf
2 verschiedene Maschinen connecten muß.

Aktuelle Fehlermeldung:

com.ibm.db2.jdbc.app.DB2DBException: Zeichenumsetzung zwischen CCSID 65535 und CCSID 0 ungültig  :roll: 

Viele Grüße

Zeus


----------



## nollario (1. Jul 2004)

tja url und treiber scheint zu passen....

hoffe, dass du mit dem character set auf der richtigen spur bist... 

wie das bei der db2 mit properties aussieht dazu, kann ich dir leider nicht sagen... hab ich verdrängt! ;-)


----------

