Zum Inhalt springen

Java und MySQL = java.sql.SQLException: No suitable driver


airrotic

Empfohlene Beiträge

Hallo zusammen,

hab mich mal etwas mit Java und MySQL auseinader gesetzt und bin gerade am scheitern....

Folgende Situation:

Habe hier ein Script das auf eine MySQL-Datenbank zugreifen soll die auf dem localhost läuft.

Installierte Software:

-WAMP-Server (php,phpmyadmin etc...)

-JBuilderX

-MySQL ODBC Treiber

-mysql-connector-java-3.1.12-bin.jar --> Brauche ich den wirklich? Liegt bei mir im JBuilder X - Ordner unter /lib

Hier mal der Code:

package datenbanksql;


import java.sql.*;

import java.io.*;


public class database {

  public database() {

  }


  public static void main(String args[]) throws IOException {

    database database1 = new database();

    BufferedReader input = new BufferedReader(

        new InputStreamReader(System.in));


    //Einlesen des Benutzernamen

    String usr = "";

    System.out.print("\nBitte Benutzername der Datenbank eingeben: ");

    usr = input.readLine();


    //Einlesen des Passwort

    String pwd = "";

    System.out.print(

        "Wenn kein Passwort vorhanden, bitte mit 'Eingabe' bestätigen. ");

    System.out.print("Bitte Passwort eingeben: ");

    pwd = input.readLine();


    try {

      Class.forName("com.mysql.jdbc.Driver");

    }

    catch (Exception e) {

      System.err.println(

          "Es ist Fehler beim laden des JDBC-ODBC Treibers aufgetreten: " +

          e);

      return;

    }

    Connection conn;

    Statement stmt;

    ResultSet rSet;

    String url = "jdbc:mysql://127.0.0.1/test";

    try {

      conn = DriverManager.getConnection("url", "usr", "pwd");

      stmt = conn.createStatement();

      String sqlQuery = "SELECT tbl_1 FROM test";

      rSet = stmt.executeQuery(sqlQuery);

    }

    catch (Exception e) {

      System.err.println(

          "Es ist ein Fehler beim Datenbankzugriff aufgetreten: " + e);

      return;

    }

    try {

      while (rSet.next()) {

        System.out.println(rSet.getString(1) + "\t" + rSet.getString(2));

      }

      stmt.close();

      conn.close();

    }

    catch (Exception e) {

      System.err.println("Fehler bei der Tabellenabfrage" + e);

      return;

    }

  }

}

Wenn ich das ganze ausführe bekomme ich diesen Fehler: "java.sql.SQLException: No suitable driver"

Habe jetzt mehrere Treiber mal durchprobiert und auch das brachte kein besseres ergebniss...

Hat jemand da eine Idee???

Gruß Simon

Link zu diesem Kommentar
Auf anderen Seiten teilen

guck, dass dein Connector im Klassenpfad liegt.
Nur hat es damit überhaupt nichts zu tun. Wer Fehlermeldungen lesen und verstehen kann ist klar im Vorteil. Wäre der Treiber nicht im Classpath, so würde schon Class.forName("com.mysql.jdbc.Driver"); eine ClassNotFoundException werfen, und das Programm würde schon vor der Verwendung des DriverManagers aussteigen.

Der Fehler liegt - wie schon angesprochen - beim Aufruf von DriverManager.getConnection.

DriverManager.getConnection("url", "usr", "pwd");

muss korrekt lauten

DriverManager.getConnection(url, usr, pwd);

Ansonsten würde JDBC versuchen einen Treiber für die URI "url" zu finden - den gibt es allerdings nicht, und von daher kommt auch - vollkommen nachvollziehbar - die Meldung "no suitable driver".

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Fehler liegt - wie schon angesprochen - beim Aufruf von DriverManager.getConnection.

DriverManager.getConnection("url", "usr", "pwd");

muss korrekt lauten

DriverManager.getConnection(url, usr, pwd);

Ansonsten würde JDBC versuchen einen Treiber für die URI "url" zu finden - den gibt es allerdings nicht, und von daher kommt auch - vollkommen nachvollziehbar - die Meldung "no suitable driver".

Darf ich dir die Füße küssen?

:uli

Vielen Dank.....

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...