Hallo zusammen,
ich versuche (immer noch
einen ersten einfachen Kontakt mit DB2 mit Java (Aplikation) herzustellen.
Alles unter Win2k, falls das eine Rolle spielen sollte.
Unten stehen genau die Schritte die ich gegangen bin, es hackt gerade an „Unhandled exception type SQLException HelloWorld.java“
(siehe ganz unten)
oder auch an der Zeile
Class.forName ( „com.ibm.db2.jcc.DB2Driver“ ) ;
mit der Fehlermeldung:
Unhandled exception type ClassNotFoundException HelloWorld.java.
Ich verstehe nicht was falsch ist, bzw. was ich vesuchen sollte oder in welcher Richtung ich weiter recherchieren könnte.
Vielen dank für Tipps!
Hier nun die ausführliche Version von dem was ich getan habe:
Versuch 1:
Versuche mich mit DB2 über Java zu verbinden.
-
Starten von Editor Eclipse 3.0.1 für Java.
D.h. Download, auspacken starten, Instalation nicht nötig.
Alles ist in einer 85MB großen eclipse-SDK-3.0.1-win32.zip. -
Ich erstelle dort eine HelloWorld.java mittels des Eclipse–Tutorials.
Zu finden im Help – Menü. -
Ideen in folien.pdf (hier lokal im gleichen Ordner) finden.
-
db2cc.jar und db2cc_license_cu.jar
ins „…/lib/ext“-Verzeichniss von Java kopiert.
jar’s sind komprimierte Dateien. Java-Treiber, Programme, Applets, Handy-spiele… Jars sind manchmal direkt ausführbar (d.h. java dekomprimiert on-the-fly).
- Ich füge
import java.util.* ;
hinzu.
Wieder oben auf den gründen Play-Knopf und auswählen
„Run As->Java Aplikation“.
Gut keine Fehlermeldung.
Nur eine Warnung:
The import java.util is never used HelloWorld.java
Klar das ist ja auch logisch.
6. Jetzt einmal mutiger, d.h. hinzufügen von:
import java.io.* ;
import java.sql.* ;
import java.net.* ;
Prima, wieder keine Fehlermeldung, nur 4mal die bekannte Warnung.
7. Hinzufügen von:
import javax.servlet.* ;
import javax.servlet.http.* ;
Meldung:
The import javax.servlet cannot be resolved HelloWorld.java
Na, das geht also erst mal nicht… nicht so schlimm.
8. Hinzufügen:
// defaultsfor connecting to the database
String group = „23“ ;
String database = „IMDB23“ ;
String userid = „dbpw0323“ ;
String url = „“ ;
String passwd = „“ ;
String request = „“ ;
das ging in der Klassendefinition - also unmittelbar nach:
public class HelloWorld { …
9. Danach in die main Methode eingeügt ohne Fehlermeldung:
Class.forName ( „com.ibm.db2.jcc.DB2Driver“ ) ;
Fehlermeldung:
Unhandled exception type ClassNotFoundException HelloWorld.java.
- Was ist denn „COM.ibm.db2.jdbc.app.DB2Driver“ ?
Ist ein Standart-klassenname unter java, so wie z.B.:
java.io.DataInputStream oder java.lang.System oder javax.swing.JFrame.
Ist nicht Linux/Unix spezifisch, nein, java-spezifisch.
(Der angesprochene Treiber kann aber Platform-spezifisch sein, das weiss man nicht)
- Am Rande gesagt:
Ist die COM.ibm.db2.jdbc.app.DB2Driver jar ist nicht installiert?
Vielleicht kann ich irgendwo eine Datei finden die „DB2Driver“ enthällt. Muss ich vielleicht den Pfad anpassen?
Vielleicht ist ja COM.ibm.db2.jdbc.app. ein Pfad zu dieser Datei?
So eine Datei konnte ich nirgendwo gefunden.
- Versuch mit
db = DriverManager.getConnection(url, userid, passwd);
db ist ein Datentyp Connection alle anderen sind String. Alles muss am Anfang der Klasse definiert sein als static.
Beispiel:
…
static String request = „“ ;
static Connection db ;
13. Meldung:
14. Unhandled exception type SQLException HelloWorld.java HelloWorldProject line 46 25. Januar 2005 19:40:56
Was hat das zu bedeuten ?