JDBC Treiber für Zugriff auf SQL-Datenbank installieren

bocks

Grünschnabel
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
 
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
 
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.
 
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)
 
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 = "jdbc:eek:dbc:pflanzen";
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
}
}
}
 
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?
 
Zurück