Ansicht:   

#165438

yeti

15.10.2009, 17:36:50
(editiert von yeti, 15.10.2009, 17:37:21)

Java und MySql... "No suitable Driver..." (ed) (pc.coding)

Hi,

nach Tipps hier ausm Forum hab ich heute mal weiter gesucht und folgende Seite gefunden:

http://www.gymmelk.ac.at/nus/informatik/wpf/JAVA/index.php?kat=beis&teil=mysq

Bisschen runterscrollen, da kommt dann der Quelltext, denn ich für meine Anforderungen angepasst hab.

import java.sql.*;

public class mysql1 {
  public static void main(String args[]) {
    treiber_laden();
    daten_ausgeben();
  }

  public static void treiber_laden() {
    try {
      Class.forName(\"com.mysql.jdbc.Driver\");
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }
  }

  public static void daten_ausgeben() {
    try {
      Connection con = DriverManager.getConnection(
         \"jdbc:mysql://localhost:3306/studentprofiles\",\"root\",\"\");
      Statement stmt = con.createStatement();
      ResultSet rslt = stmt.executeQuery(\"select * from weblinks\");
      while (rslt.next()) {
	 System.out.println(rslt.getInt(1) + \"\\t\" + rslt.getString(2) + 
            \"\\t\" + rslt.getString(3) + \"\\t\" + rslt.getDate(5));
      }
      stmt.close();
      con.close();
    }
    catch (Exception e) {
      System.out.println(e.getMessage());
    }
  }
}



Den Connecor hab ich hier runtergeladen:
[link=]http://dev.mysql.com/downloads/connector/j/5.1.html[/link]

Die Datei \"mysql-connector-java-5.1.10-bin.jar\" hab ich hier hin kopiert:
\"\\Javapfad\\jre\\lib\\ext\"

Das ganze läuft auf einem Windows2000 PC unter XAMPP. Die Datenbank \"studentprofiles\" existiert. Ich kompiliere und starte die Programme in der Eingabeaufforderung.

Ich habe den Quelltext kompiliert. Keine Fehlermeldung, scheint also alles soweit erst mal korrekt zu sein.
Wenn ich aber nun mit java mysql1 versuche das Programm zu starten, bekomme ich die Meldung:


com.mysql.jdbc.Driver
No suitable driver found for jdbc:mysql://localhost:3306/studentprofiles



Classpath scheint zu stimmen. Hab jedenfalls entsprechendes im Netz gefunden.

Mach ich da grundsätzlich was falsch?
Ich hab das mit anderen Beispielen/Quelltexten schonmal probiert, bekomme immer die gleiche Meldung.

Könnt ihr mir einen Tipp geben?

Vielen Dank im voraus und viele Grüße
Yeti

#165465

yeti

15.10.2009, 20:38:25

@ yeti

Java und MySql... "No suitable Driver..."

Übrigens... hab die DB grad mit dem gleichen Treiber in OpenOffcie.org 3.0 angemeldet und kann sie benutzen. Hilft das?

Gruß Yeti

#165470

teddy [Gast]

15.10.2009, 21:13:30

@ yeti

Java und MySql... "No suitable Driver..."

> Ich habe den Quelltext kompiliert. Keine Fehlermeldung, scheint also alles
> soweit erst mal korrekt zu sein.
> Wenn ich aber nun mit java mysql1 versuche das Programm zu starten,
> bekomme ich die Meldung:
Beim Kompilieren wird auch die Existenz des Treibers nicht geprüft, der wird erst in der Anwendung geladen.

Deswegen tippe ich auf einen falsche Ablage des Treibers / Classpath: siehe http://dev.mysql.com/doc/refman/5.0/en/connector-j-installing.html

#165511

yeti

16.10.2009, 08:49:30
(editiert von yeti, 16.10.2009, 08:50:23)

@ teddy

Java und MySql... "No suitable Driver..." (ed)

> > Ich habe den Quelltext kompiliert. Keine Fehlermeldung, scheint also
> alles
> > soweit erst mal korrekt zu sein.
> > Wenn ich aber nun mit java mysql1 versuche das Programm zu starten,
> > bekomme ich die Meldung:
> Beim Kompilieren wird auch die Existenz des Treibers nicht geprüft, der
> wird erst in der Anwendung geladen.
>
> Deswegen tippe ich auf einen falsche Ablage des Treibers / Classpath:
> siehe http://dev.mysql.com/doc/refman/5.0/en/connector-j-installing.html

Mal ne Rage dazu:
Wenn ich unter Win2K die Umgebungsvariablen anschaue und dann bei Path entsprechend das Verzeichnis angebe, in dem der Treiber liegt, reicht das dann?

%SystemRoot%\\system32;%SystemRoot%;%SystemRoot%\\System32\\Wbem;C:\\Programme\\ATI Technologies\\ATI Control Panel; &&
c:\\programme\\java\\jdk1.6.0\\bin;C:\\Programme\\Gemeinsame Dateien\\Teleca Shared;c:\\programme\\java\\jdk1.6.0_10\\bin; &&
c:\\programme\\java\\jdk1.6.0_10\\jre\\lib\\ext



Gruß Yeti

#165571

yeti

16.10.2009, 15:56:43

@ teddy

Neuer Fehler, es geht weiter...

Hi,

nachdem ich weiteres gelesen habe, (und sogar was gefunden hab, das ich verstanden hab  ;-) ) hab ich jetzt die Umgebungsvariable CLASSPATH direkt eingetragen. Jetzt kommt beim Programmaufruf folgende Meldung:

F:\\java\\mysql>java mysql1
Exception in thread \"main\" java.lang.NoClassDefFoundError: my
Caused by: java.lang.ClassNotFoundException: mysql1
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown So
Could not find the main class: mysql1.  Program will exit.



Fehlt mir noch was im Classpath?
Vielen Dank und viele Grüße
Yeti

#165578

yeti

16.10.2009, 16:30:05

@ yeti

Neuer Fehler, es geht weiter...

Hi,

jetzt habe ich in den Classpath zusätzlich noch den Pfad zu dem Verzeichnis eingetragen, in dem die eigene Klasse steht.
Nun kommt wieder die ursprüngliche Fehlermeldung:

com.mysql.jdbc.Driver
No suitable driver found for jdbc:mysql://localhost:3306/studentprofiles



Kann es sein, dass ich den falschen Treiber habe? Und wenn ja... wie stelle ich fest, welchen ich brauche?

Viele Grüße
Yeti

#166635

yeti

23.10.2009, 13:46:55

@ teddy

Java und MySql... "No suitable Driver..."

> > Ich habe den Quelltext kompiliert. Keine Fehlermeldung, scheint also
> alles
> > soweit erst mal korrekt zu sein.
> > Wenn ich aber nun mit java mysql1 versuche das Programm zu starten,
> > bekomme ich die Meldung:
> Beim Kompilieren wird auch die Existenz des Treibers nicht geprüft, der
> wird erst in der Anwendung geladen.
>
> Deswegen tippe ich auf einen falsche Ablage des Treibers / Classpath:
> siehe http://dev.mysql.com/doc/refman/5.0/en/connector-j-installing.html


Saublöd... so kann man es glaube ich beschreiben  :angry:
Es war tatsächlich der CLASSPATH. Hab immer wieder den Fehler übersehen. Klar, das mir keiner helfen kann, wenn er den korrekten Pfad auf meinem PC nicht kennt ;)

Es läuft alles!
Vielen Dank für die Hilfe!

Gruß Yeti

#165608

MudGuard zur Homepage von MudGuard

München,
16.10.2009, 19:27:31

@ yeti

Java und MySql... "No suitable Driver..."

>

import java.sql.*;
> 
> public class mysql1 {
> public static void main(String args[]) {



hier bitte


for (String key : new String[] { \"CLASSPATH\", \"JAVA_HOME\" })
{
    System.out.println(String.format(\"%-15s: %s\", key, System.getenv(key)));
}



einfügen, compilieren, starten und die Ausgabe herzeigen.
Oder gleich selbst gucken, ob das Verzeichnis in JAVA_HOME auch das ist, in dessen lib/ext Du das MySQL-Treiber-Jar gepackt hast.


> treiber_laden();
> daten_ausgeben();
> }

--
[image]
MudGuard
O-o-ostern

#165619

yeti

16.10.2009, 19:48:40

@ MudGuard

Java und MySql... "No suitable Driver..."

F:\\java\\mysql>java mysql1
CLASSPATH      : c:\\programme\\java\\jdk1.6.0_10\\bin;c:\\programme\\java\\j
\\jre\\lib\\ext;F:\\java\\mysql
JAVA_HOME      : null
com.mysql.jdbc.Driver
No suitable driver found for jdbc:mysql://localhost/studentprofiles




Hmmm.... da gibt es ein Problem?

Gruß Yeti

#165624

yeti

16.10.2009, 20:03:20

@ MudGuard

Java und MySql... "No suitable Driver..."

Hab jetzt eben noch JAVA_HOME als Benutzervariable eingetragen. Jetzt bekomme ich dieses Ergebnis:


F:\\java\\mysql>java mysql1
CLASSPATH      : c:\\programme\\java\\jdk1.6.0_10\\bin;c:\\programme\\java\\j
\\jre\\lib\\ext;F:\\java\\mysql
JAVA_HOME      : c:\\programme\\java\\jdk1.6.0_10
com.mysql.jdbc.Driver
No suitable driver found for jdbc:mysql://localhost/studentprofiles

#166636

yeti

23.10.2009, 13:47:48

@ MudGuard

Java und MySql... "No suitable Driver..."

Es läuft jetzt, sie hier:
link
Vielen Dank für deine Hilfe!
Gruß Yeti

#165660

yeti

17.10.2009, 09:50:46

@ yeti

Zwischenfrage

Hi,

ich hab hier:
http://dev.mysql.com/doc/refman/5.1/de/connector-j-usagenotes-troubleshooting.html#qandaitem-25-3-5-3-1-2

Das hier als mögliche Ursache für mein Problem gefunden:
Der Verbindungs URL hat ein falsches Format oder Sie referenzieren den verkehrten JDBC-Treiber.

Wie stelle ich denn fest, welchen Treiber ich brauche? Ich kann bei der mysql.com nur die dort angebotenene Connetor/J runterladen. Da hab ich halt den neusten genommen...

Vielleicht hab ich ja deswegen ein Problem?

Hab mittlerweile den Classpath und Java_Home eingestellt und verschiedene Aufrufe der Datenbank ausprobiert. Immer die gleichen Meldungen, je nach dem, was ich mache...

Ich weiß mittlerweile gar nicht mehr wo ich bin ....

Ansicht:   
Auf unserer Web-Seite werden Cookies eingesetzt, um diverse Funktionalitäten zu gewährleisten. Hier erfährst du alles zum Datenschutz