# mysql.jdbc treiber wird nicht gefunden



## nieselfriem (20. Jan 2007)

Hallo!

Ich versuche gerade eine einfache Datenbankanbindung unter java zu realisieren.

```
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;


public class HelloJDBC {

	private static String query = null; // Anfragestring
	private static Connection connection = null; //Verbindung zur Datenbank
	
	public static void main(String[] args) {
		initDBConnection();
	}
	
	private static void initDBConnection(){
		String url ="hier muss die URL stehen"; //URL zur Datenbank
		String username = "hier der Username"; //Nutzername
		String password = "hier das Passwort"; //Passwort
				
		// Holen des Oracle-Treibers
		try {
			Class.forName("com.mysql.jdbc.Driver");
		}
		catch(ClassNotFoundException e1) {
			e1.printStackTrace();
			System.exit(1);
		}
		//Erstellung einer Verbindung zur Datenbank
		try {
			connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/coctails", "root"," "  );
			//Ausfuehren einer DB-Anfrage
			executeQuery();
			//Schliessen der DB-Verbindung
			connection.close();
		}catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
	private static void executeQuery(){
		try {
			
			query = "select * from Quelle"; 
			//Erzeugung eines Statements
			Statement statement = connection.createStatement();
			//Holen Ergebnismenge der Anfrage
			ResultSet resultSet = statement.executeQuery(query);
			//Ausgabe des Anfrageergebnisses
			showResult(resultSet);
			//Schliessen des ResultSets
			resultSet.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}		
	}
	
	private static void showResult(ResultSet resultSet){
		try {
			//Holen der Metadaten der Datenbank
			ResultSetMetaData metaData = resultSet.getMetaData();
			//Anzahl der Tabellenspalten
			int number = metaData.getColumnCount();
			System.out.println();
			//Ausgabe der Spaltennamen 
			for (int i=1;i<=number;i++){
				//Name der Tabellenspalte
				String name = metaData.getColumnName(i);
				System.out.print(name + "   ");
			}
			System.out.println();
			System.out.println("--------------------------------\n");
			//Zeilenweise Ausgabe der Tabellenwerte
			while(resultSet.next()){
				for(int i=1;i<=number;i++)
					System.out.print(resultSet.getString(i)+ " ");
				System.out.println();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}
```
Nun ist das Probem, dass beim Ausführen der class folgende Fehlermldung kommt:"java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
        at java.net.URLClassLoader$1.run(Unknown Source)..."
Ich habe folgednden Treiber für die Mysqlanbindung heruntergeladen "mysql-connector-java-5.0.4-bin" und unter folgendendem Verzeichniss abgelegt "d:\programme\j2sdk1.4.2_13\jars". Dementsprechend habe ich auch die PATH-Variable gesetzt und trotzdem wird die Classe nicht gefunden.
Bitte um hilfe wie ich dies richtig einsetze oder konfiguriere

Gruß niesel


----------



## master_main (24. Jan 2007)

hallo niesel,
versuch mal den treiber in das verzeichnis C:\programme\java\jre1.***\lib\ext

und binde wieder über den classpath den treiber ein.

gruß master_main


----------



## KSG9|sebastian (24. Jan 2007)

AH

das lib/ext-Verzeichniss zu manipulieren ist nicht sonderlich toll. Denn spätestens wenn du das Programm weitergibst läufts nimmer.

Pack die Jar in deine Anwendung

Webanwendung -> WEB-INF/lib
Desktop -> irgendein Lib-Ordner

Wenn du Eclipse benutzt kannst du die Lib über Project Preferences -> Java Build Path -> Libraries -> Add Jar's hinzufügen. Wenn nicht musst du dein Programm halt mit entsprechendem Classpath starten

java de.mein.Programm -cp .;jars/mysql-connector.jar


----------

