# JDBC Treiber für Zugriff auf SQL-Datenbank installieren



## bocks (15. September 2005)

Hallo,

ich möchte mit Java gerne auf eine SQL-Datenbank zugreifen. Das sowas mit einem JDBC Treiber funktioniert hab ich verstanden. Aber ich kriege es beim besten Willen nicht hin, den Treiber so zu "installieren", dass darauf zugegriffen werden kann. Kann mir vielleicht jemand sagen, was ich dafür machen muss?

Kleine Anmerkung: ich suche jetzt echt schon ne Zeit lang danach. Sätze wie "einfach den CLASSPATH ändern" oder "in den Klassenpfad kopieren" haben mich bis jetzt nicht weiter gebracht. Es wird letzendlich bestimmt so einfach sein wie alle sagen, aber ich krieg das irgendwie nicht hin  Wäre für eine ausführliche Erklärung dankbar. Als Entwicklungsumgebung benutze ich Eclipse falls das wichtig ist.

thx
bocks


----------



## Romsl (15. September 2005)

Hi,

du musst nichts installieren, sondern nur den richtigen Treiber (MySQL für MySQL, usw...) im "Klassenpfad setzen".

Gesucht gefunden...
http://www.torsten-horn.de/techdocs/java-sql.htm

Gruß

Romsl


----------



## zerix (15. September 2005)

Hast du die Jar von dem Treiber In Eclipse importiert?


Kommt eine Fehler-Meldung? Wenn ja, welche?


----------



## bocks (15. September 2005)

Ich habe die .jar Datei (so wie bei http://www.torsten-horn.de/techdocs/java-sql.htm beschrieben) in den Klassenpfad (\jre\lib\ext) kopiert und dann bei Eclipse über "File -> Inport -> Zip file" importiert. Wenn ich jetzt den DriverManager, der in der readme von dem Treiber genannt wird, als Parameter nehme, bekomme ich die Exception, dass der Treiber nicht gefunden wurde:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

das ist schon mal ein anderer Fehler als der, den ich vorher hatte. Da kam immer:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Der Datenquellenname wurde nicht gefunden, und es wurde kein Standardtreiber angegeben


thx für die Hilfe
bocks


----------



## zerix (15. September 2005)

Du hast es nicht importiert bei Eclipse 

Project -> Properties -> Java Build Path -> Libraries -> add external Jars

da musste dann die jar-datei die sich in der zip-datei befindet hinzufügen. dann müsste es funktionieren.


----------



## bocks (15. September 2005)

thx  leider hab ich jetzt wieder einen anderen Fehler, aber immerhin ist das ein neuer 

an der stelle "Class.forName( "com.mysql.jdbc.Driver" );" kommt die Exception:

java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Unknown Source)
	at Sql.main(Sql.java:9)


----------



## zerix (15. September 2005)

Poste mal den quelltext bitte.


----------



## bocks (15. September 2005)

Der Quelltext ist aus dem Buch "Java ist auch eine Insel" den hab ich genommen um erst einmal eine Verbindung zu bekommen:

import java.sql.*;


public class Sql
{
  public static void main( String args[] )
  {
   try {
      Class.forName( "com.mysql.jdbc.Driver" );
    }
    catch ( ClassNotFoundException e ) {
      System.out.println( "Fehler bei ODBC-JDBC-Bridge" + e );
      return;
    }

    Connection con;
    Statement stmt;
    ResultSet rSet;

    try
    {
      String url = "jdbcdbcflanzen";
      con = DriverManager.getConnection( url, "User", "User" );
      stmt = con.createStatement();

      String sqlQuery = "SELECT Lfr_Name, Adresse FROM Lieferanten";
      rSet = stmt.executeQuery( sqlQuery );

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

      stmt.close();
      con.close();
    }
    catch ( SQLException e )
    {
      System.out.println( "Fehler bei Tabellenabfrage" + e );
      return;
      java.lang.NoClassDefFoundError
    }
  }
}


----------



## zerix (15. September 2005)

Du benutzt mysql, oder?


----------



## bocks (15. September 2005)

jo, ich hab MySQL 4.1.14. der "winmysqladmin" läuft auch im Hintergrund. Mit PHP kann ich auch ohne Probleme auf die Datenbank zugreifen. Meinst du, dass es an der Datenbank liegen könnte?


----------



## zerix (15. September 2005)

Dann ist schon mal deine url falsch

jdbc:mysql://dbname/tabellenname


ICh hoffe das ist richtig so, hab das schon länger nicht mehr gemacht


----------



## bocks (15. September 2005)

danke. an der url liegt das aber leider nicht  der fehler tritt schon früher, bei "Class.forName( "com.mysql.jdbc.Driver" )" auf. irgendwie schafft er es nicht, den treiber zu laden.


----------

