# JDBC Verbindung zur DB klappt nicht



## pawlo (5. Apr 2012)

Hallo,

nachdem ich zahlreiche Beiträge des F wie man eine DB-Verbindung herstellt, mir angeguckt habe,
habe immer noch nicht rausgefunden warum die Verbindung bei mit nicht klappt und was ich falsch gemacht habe. Hat jemand ne Idee?

Hier der Quellcode:

package jpr15;

import java.net.*;
import java.sql.*;

public class Jpr15 {

public static void main(String[] args) {

    try{
    	Class.forName(" mysql-connector-java-5.1.19-bin.jar").newInstance();
    	Connection con = DriverManager.getConnection("jdbc:mysql://localhost/first" ,"root","mypawel");
    		con.setReadOnly(true);
                Statement stmt = con.createStatement();
    	ResultSet rs = stmt.executeQuery("select * from robert");
    	while(rs.next()){
    		System.out.println(rs.getInt(1)+""+rs.getString(2));
    	}
    	rs.close();
    	stmt.close();
    	con.close();
    }
    catch(Exception e){
    	System.out.println("Fehlermeldung->"+e);
    }
}
    }

Die jar. Datei wurde im Tomcat/lib Ordener hinzugefügt und bei Netbeans angebunden.
Trotzdem :

Fehlermeldung->java.lang.ClassNotFoundException:  mysql-connector-java-5.1.19-bin.jar
BUILD SUCCESSFUL (total time: 1 second)

Gruß, Pawel


----------



## nillehammer (5. Apr 2012)

> Class.forName(" mysql-connector-java-5.1.19-bin.jar").newInstance();


Das ist falsch. Du musst die den voll qualifizierten Klassennamen für den mysql-jdbc-Treiber angeben, nicht das jar. Und bei neueren Treibern ist die Zeile im Übrigen auch komplett überflüssig.


----------



## Final_Striker (5. Apr 2012)

> nachdem ich zahlreiche Beiträge des F wie man eine DB-Verbindung herstellt, mir angeguckt habe,



Dann zeigt mir bitte in welchem Beispiel du das hier gesehen hast:

```
Class.forName(" mysql-connector-java-5.1.19-bin.jar").newInstance();
```

Schau dir das hier an: Datenbankverbindung (Java) ? Byte-Welt Wiki




> Die jar. Datei wurde im Tomcat/lib Ordener hinzugefügt



Was hat dein Beispiel mit dem Tomcat zu tun? Du musst die Treiber Jar-Datei in dein Projekt einbinden.


----------



## pawlo (5. Apr 2012)

ja sie ist schon angebunden, liegt bei Libraries.


----------



## Fab1 (5. Apr 2012)

dann sollte ja jetzt alles laufen oder?

hab mich selbst letztens erst bisschen mit db's gespielt hatte es bisher nie gebraucht.

So hat der Code bei mir sofort Problemlos funktioniert. Muss natürlich noch auf deine DB, Tabellen und dein Passwort anpassen, aber ansonsten sollte es schon laufen.


```
import java.sql.*;

public class LoadDriver {
	public static void main(String[] args) {
		
		Connection con = null;
		Statement stmt = null;
		ResultSet rs = null;
		
		try {
			// Der Aufruf von newInstance() ist ein Workaround
			// für einige misslungene Java-Implementierungen

			Class.forName("com.mysql.jdbc.Driver").newInstance();
			
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		try {
			con = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "deinPW");
			stmt = con.createStatement();
			rs = stmt.executeQuery("SELECT * FROM tbl_Kunde");
			while(rs.next()){
				
			System.out.print(rs.getString(1) + " ");
			System.out.print(rs.getString(2) + " ");
			System.out.print(rs.getString(3) + "\n");
			
			}
			stmt.close();
			con.close();
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
	}
}
```


----------



## pawlo (5. Apr 2012)

habe das Beispiel bei ytube gefunden, war  hier ein link drauf.


----------



## pawlo (5. Apr 2012)

hey, das hat jetzt geklappt, echt super, danke dir!
Mein Fehler lag bei einem falschen Klassennamen.


----------

