JDBC mit MySQL

Status
Nicht offen für weitere Antworten.

Hannes23

Bekanntes Mitglied
Hallo,

ich versuche mit folgendem Code auf eine MySQL-Datenbank zuzugreifen:

Code:
import java.sql.*;

public class JdbcMysqlDemo01 {
    public static void main( String[] args ) {
       
        String host = "localhost";
        String port = "3306";
        String dbType = "mysql";
        String dbName = "test";
        String dbUser = "hannes";
        String dbPwd = "xxx";

        // Mit der folgenden Anweisung
        // geben wir die JDBC-Treiber f�r Oracle und
        // Mysql an, die je nach Vorhandensein
        // geladen werden.
        // (Dies kann man nat�rlich auch �ber
        // die Kommandozeile mit dem "-D"-Schalter
        // und dem Property "jdbc.drivers" tun).
        String myDrivers =
            "com.mysql.jdbc.Driver";

        System.setProperty(
            "jdbc.drivers",
            myDrivers
        );

        
  
        // Mysql
        try {
            Class.forName(
                "com.mysql.jdbc.Driver"
            );
        } catch ( Exception ex ) {
	    System.out.println("TREIBER NICHT GEFUNDEN!!!");
            System.err.print( ex );
            System.exit( 1 );
        }


        //Verbindung zur DB aufbauen
        Connection conn = null;

        String uri = "jdbc:" + dbType + "://" +
            host + ":" + port + "/" +
            dbName;
        try {
            conn = DriverManager.getConnection(
                uri,
                dbUser,
                dbPwd
            );
            System.out.println( "OK" );
        } catch ( Exception ex ) {
            System.err.print( ex );
            System.exit( 1 );
        } finally {
            if ( conn != null ) {
                try {
                    conn.close();
                } catch ( Exception ign ) {}
            }
        }

        System.exit( 0 );
    }
}


Der Programmaufruf:
java -cp .:mysql-connector-java-3.0.14-production-bin.jar JdbcMysqlDemo01

Ich bekomme folgende Fehlermeldung:
Exception in thread "main" java.lang.NoClassDefFoundError: JdbcMysqlDemo01


...und hätte noch eine allgemeine Frage zum mysql-connector:
-Muss ich den bei jedem Programmaufruf angeben?
-Gibt es irgendein Verzeichnis, an das er standartmäßig kopiert wird?


Danke,

Hannes

-----------------------------------------------------------
Umgebung:
Linux SuSE 9.2
MySQL 4.0.21
 

EagleEye

Bekanntes Mitglied
nim mal den java -cp mysql-connector-java-3.0.14-production-bin.jar;. JdbcMysqlDemo01
ja mußt ihn jedes mal angeben seiden du entpackst ihn und machst alles als jar und packst ihn mit darein

was meinst du mit dem kopieren
 

Bleiglanz

Gesperrter Benutzer
Linux

-cp .:/pfad/zur/jar/mysql-connector-java-3.0.14-production-bin.jar Klasse

Windows

-cp .;C:\schmu\schmaeh\mysql-connector-java-3.0.14-production-bin.jar Klasse

du musst java natürlich in dem Ordner aufrufen, in dem die DateiJdbcMysqlDemo01.class liegt



und: gib den cp bei jedem Aufruf an, schreib dir ggf. eine batch/shell datei oder ein ant-skript
 

Hannes23

Bekanntes Mitglied
Mhmm...danke. Und weiß noch jemand woran die Fehlermeldung liegen könnte??


@EagleEye:
Mit kopieren meinte ich, ob es ein bestimmtes Verzeichnis gibt, in dem die *.jar Datei rein muss und von dort aus standartmäßig aufgerufen wird....aber hat sich dann eh erledigt.

Danke, Hannes
 

Bleiglanz

Gesperrter Benutzer
Exception in thread "main" java.lang.NoClassDefFoundError: JdbcMysqlDemo01


heisst:

JdbcMysqlDemo01.class

liegt in keinem Ordner der im Classpath aufgeführt ist
 

Hannes23

Bekanntes Mitglied
...und wie kann ich unter Linux angeben, welcher Ordner im Classpath aufgeführt ist?

Hab hald jetzt einfach einen Ordner java, in dem meine Programme drinliegen...denn sollte ich dann ja wohl im Classpath angeben?
 

Bleiglanz

Gesperrter Benutzer
Wenn du IM ordner java den befehl

java -cp .:/pfad/zur/jar/mysql-connector-java-3.0.14-production-bin.jar JdbcMysqlDemo01

eingibtst dann solls gehen

der cp besteht aus zwei ordnern (dem jar und dem ., wobei der . wie üblich der "momentane" ordner ist)
 

Hannes23

Bekanntes Mitglied
Nuja, ich hab die *.jar im gleichen Verzeichnis, wie meine *.class deshalb auch mein Aufruf:

java -cp .:mysql-connector-java-3.0.14-production-bin.jar JdbcMysqlDemo01

Müsste auch stimmen (Tab-Vervollständigung benutzt)...
 

EagleEye

Bekanntes Mitglied
wenn mich nix täuscht schreibst du laufend : statt ; und meiner meinung heißt das ; (aber ich kann mich auch täuschen ;))
 

Hannes23

Bekanntes Mitglied
Ich glaub echt, dass es irgendein Treiber - Problem ist...

Ich hab mir grad nochmal den mysql-connector runtergeladen und mir ist aufgefallen, dass ich aus dieser tar.gz - Datei damals nur die mysql-connector-java[...].jar verwertet hab. Hätte man mit den anderen Dateien noch irgendwas machen müssen???
(ein Ordner "clover" ist z.B. noch dabei...)
 

Bleiglanz

Gesperrter Benutzer
Exception in thread "main" java.lang.NoClassDefFoundError: JdbcMysqlDemo01

das hat überhaupt nix mit dem treiber zu tun, weil dein Prog noch nicht einmal gestartet ist (sofern wir überhaupt noch über obige Fehlermeldung reden)

=> die ClassNotFound für den DBTreiber kann also noch gar nicht erreicht werden!

schau mal ob du mit

java JdbcMysqlDemo01

wenigstens dein Prog starten kannst
 

Hannes23

Bekanntes Mitglied
@Bleiglanz:

Wenn ich das Programm nur über java JdbcMysqlDemo01 aufrufe erhalte ich:

TREIBER NICHT GEFUNDEN!!!
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

...aber das sieht dann wohl so aus, als würde das Programm gestartete werden, weil ich die Fehlermeldung "TREIBER NICHT GEFUNDEN" ja vom Programm ausgeben lasse...
 

Bleiglanz

Gesperrter Benutzer
Hannes23 hat gesagt.:
@Bleiglanz:

Wenn ich das Programm nur über java JdbcMysqlDemo01 aufrufe erhalte ich:

TREIBER NICHT GEFUNDEN!!!
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

...aber das sieht dann wohl so aus, als würde das Programm gestartete werden, weil ich die Fehlermeldung "TREIBER NICHT GEFUNDEN" ja vom Programm ausgeben lasse...
dann muss
Code:
java -cp .:mysql-connector-java-3.0.14-production-bin.jar JdbcMysqlDemo01
auch gehen, wenn

mysql-connector-java-3.0.14-production-bin.jar

im gleichen Ordner liegt, also direkt neben

JdbcMysqlDemo01.class
 

Hannes23

Bekanntes Mitglied
Mhmmm....geht aber nicht :)

mysql-connector-java-3.0.14-production-bin.jar liegt im gleichen Ordner wie JdbcMysqlDemo01.class

...hab ich im Programm vielleicht einen anderen Treiber angegeben als ich dann im Endeffekt lade??

...und sind denn die anderen Dateien, die noch mit mysql-connector-java-3.0.14-production-bin.jar in dem tar.gz - File stecken wirklich völlig nutzlos??

Bin langsam echt am Verzweifeln *g*

Danke, Hannes
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Thallius MySQL JDBC auf Linux Server zu mySQL DB auf anderem Linux Server wirft Access denied Datenbankprogrammierung 5
Z [JDBC][MYSQL] Access denied Datenbankprogrammierung 7
A Eine MySQL Zeile mit JDBC löschen Datenbankprogrammierung 5
B JDBC MySQL Statement Datenbankprogrammierung 3
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
D JDBC/MySQL - Unknown Source Datenbankprogrammierung 4
B JDBC online MySQL-DB Datenbankprogrammierung 3
F MySQL - Connection JDBC-Driver Problem Datenbankprogrammierung 4
S java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Datenbankprogrammierung 10
F JDBC:Mysql extrem Langsam Datenbankprogrammierung 3
H com.mysql.jdbc.NotUpdatable: Result Set not updatable Datenbankprogrammierung 2
S JDBC erkennt anstatt TinyInt ein Bit (MYSQL) Datenbankprogrammierung 6
W preparedStatement (MySQL - JDBC) Datenbankprogrammierung 5
B Mysql über jdbc sehr langsam Datenbankprogrammierung 4
S Java, JDBC und MySQL - Verbindungserror Datenbankprogrammierung 8
T APPLET MYSQL JDBC zum 1001mal Datenbankprogrammierung 6
H Konnte den Treiber com.mysql.jdbc.Driver nicht laden. Datenbankprogrammierung 19
zilti java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Datenbankprogrammierung 3
D java.lang.ClassNotFoundException: com.mysql.jdbc.Driver Datenbankprogrammierung 5
W Zwei Fragen über JDBC und MySQL Datenbankprogrammierung 2
N mysql.jdbc treiber wird nicht gefunden Datenbankprogrammierung 2
N MySQL Treiber via JDBC in Tomcat Servlet Datenbankprogrammierung 3
M mysql jdbc batch files ausführen. Datenbankprogrammierung 3
K Bild via JDBC und MySQL ausgeben Datenbankprogrammierung 2
M JSP (JDBC zu MySQL) --> Loginpage Passwörter mit MD5 Datenbankprogrammierung 3
R MySQL + JDBC: Leeres datetime-Feld einlesen Datenbankprogrammierung 4
R NetBeans und com.mysql.jdbc.Driver Datenbankprogrammierung 2
M ClassNotFoundException bei com.mysql.jdbc.Drive Datenbankprogrammierung 4
J JDBC installieren unter win xp(mysql), bitte kurze anleitung Datenbankprogrammierung 6
G JDBC Verbindung zu MySQL-Server auf lokalem Rechner Datenbankprogrammierung 5
T HILFE: MySQL und tomcat-5.5.4 == Name jdbc is not bound in t Datenbankprogrammierung 3
H Datenbankanbindung MySQL per JDBC Datenbankprogrammierung 4
G JDBC - MYSQL - Schnittstelle in Java programmieren Datenbankprogrammierung 8
G JDBC - MySQL - Anmeldung Prob. Datenbankprogrammierung 2
OnDemand JDBC Client Spring: Pool läuft voll Datenbankprogrammierung 6
B SQLite + jdbc + IntelliJ-Consumer = "No suitable driver found..." Datenbankprogrammierung 15
J PC-Start Problem JDBC Connection Datenbankprogrammierung 10
N JDBC SQLITE und Cascading Datenbankprogrammierung 2
D Asynchrone Aufrufe mit jdbc Datenbankprogrammierung 5
Edin JDBC Hilfe Datenbankprogrammierung 2
H JDBC Tabellen ausgeben Datenbankprogrammierung 8
Husamoli345 JSF-JDBC Verbindung Crud Datenbankprogrammierung 15
G MySQL JDBC Metadaten auslesen aus .accdb -> Primärschlüssel manchmal erkannt manchmal nicht Datenbankprogrammierung 3
N Java, sql, jar, JDBC-Treiber in Classpath Datenbankprogrammierung 8
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
J JDBC anschaulich präsentieren Datenbankprogrammierung 2
ralfb1105 Oracle JDBC Debugging Datenbankprogrammierung 8
Thallius MySQL jdbc schließt Verbindung nach vielen Request von selber Datenbankprogrammierung 8
B MySQL JDBC Kommentarfilter Datenbankprogrammierung 4
Aruetiise MySQL Name JDBC Drive finden Datenbankprogrammierung 4
E Sqlite-jdbc Mitliefern Datenbankprogrammierung 4
R jdbc-Zugriff Nicht erlaubt ? Datenbankprogrammierung 16
S probleme mit dem jdbc treiber Datenbankprogrammierung 1
Thallius MySQL Merkwürdiges JDBC Verhalten bei VPN Verbindung. Datenbankprogrammierung 7
O JDBC Daten in zwei Tabellen mit zwei foreach-Schleifen einfügen (insert into) Datenbankprogrammierung 1
F MySQL JDBC Problem Datenbankprogrammierung 5
C JDBC und SQLite Datenbank Datenbankprogrammierung 8
looparda SQLite Active JDBC Abstraktion Datenbankprogrammierung 2
J JDBC SQL Statement mit Parameter Datenbankprogrammierung 7
S JDBC PreparedStatement durchiterieren Datenbankprogrammierung 6
J RESTServie + JDBC + No suitable driver found for jdbc Datenbankprogrammierung 4
KaffeeFan JDBC/ODBC-Bridge entfernt Datenbankprogrammierung 4
S sun.jdbc.odbc.JdbcOdbcDriver wird nicht gefunden Datenbankprogrammierung 2
J Fehlende DatenbankView nach einbeziehen von JDBC Datenbankprogrammierung 3
A Mit JDBC auf postgreSQL Datenbank zugreifen Datenbankprogrammierung 5
C PostgreSQL JDBC + PostgreSQL: getLong liefert 0 statt NULL Datenbankprogrammierung 2
flenst111 SQL-Statement Wie konfiguriert man JDBC-Connect.richtig, damit es bei riesigen Tabs keinen Speicherüberlauf gibt? Datenbankprogrammierung 1
M JDBC Tabellen mit Boolean Spalten können nicht erstellt werden. DB Updaten - wie? Datenbankprogrammierung 6
S JDBC mit Postgres DB connecten Datenbankprogrammierung 3
D JDBC - Verständnisfrage Datenbankprogrammierung 2
C Tabelle erstellen mit Apache JDBC-Util Datenbankprogrammierung 1
L Conversion-Error bei JDBC Date Literals Datenbankprogrammierung 3
X MySQL DB-verbindung ohne JDBC/ODBC Datenbankprogrammierung 1
F sun.jdbc.odbc.jdbcodbcdriver wird nicht gefuden Datenbankprogrammierung 3
J Keine Verbindung zu MSSQL DB mit JDBC Datenbankprogrammierung 3
U JDBC prepaird Statements Datenbankprogrammierung 4
B MySQL JDBC Zugriff auf entfernt Datenbank, fehlende Rechte Datenbankprogrammierung 2
Q MySQL JDBC-Treiber Problem Datenbankprogrammierung 2
R Transaktionen von mehreren Anwendungen aus - JDBC Datenbankprogrammierung 3
N MySQL com.microsoft.sqlserver.jdbc.SQLServerException: Die Verbindung wurde geschlossen. Datenbankprogrammierung 1
N JDBC: rollback() bei Exception geht nicht!? Datenbankprogrammierung 1
C Dateipfad des jdbc Treibers Datenbankprogrammierung 2
G JDBC Connect nur über SID fehlerfrei möglich Datenbankprogrammierung 2
R Oracle jdbc Zugriff auf Oracle Datenbankprogrammierung 2
T JDBC Fehler Datenbankprogrammierung 2
J JDBC via Singleton Datenbankprogrammierung 12
Z PostgreSQL JDBC mit Postgresql Datenbankprogrammierung 2
B No suitable driver found for jdbc:oracle:thin:@$HOST:$PORT:$SID Datenbankprogrammierung 7
K JDBC via Netzwerk Datenbankprogrammierung 4
B JDBC Connection Fehler Datenbankprogrammierung 8
K JDBC- In Java "stored procedure" erstellen für DB2,OracleSql ... Datenbankprogrammierung 3
J JDBC in Library|"Treiber konnte nicht geladen werden"" Datenbankprogrammierung 2
B JDBC-Connection: Data source name too long Datenbankprogrammierung 3
D JDBC insert mit select abfrage Datenbankprogrammierung 5
A JDBC Prepared Statement Autoincrement Datenbankprogrammierung 3
H JDBC prüfen ob Table existiert Datenbankprogrammierung 3
crashfinger jdbc-connection mit jre7 funktioniert nicht Datenbankprogrammierung 5
0 JDBC Oracle Verbindungsaufbau Datenbankprogrammierung 6
Q Oracle Linux: ClassNotFoundException: oracle.jdbc.driver.OracleDriver Datenbankprogrammierung 6
F Oracle Oracle JDBC Anbindung unter Glassfish 3.1.2 Datenbankprogrammierung 3

Ähnliche Java Themen


Oben