# JDBC Datenbank funktioniert nicht



## Celes (23. Apr 2012)

Hallo ich habe zur zeit ein Projekt, wo ich eine Datenbankverbindung brauch.
Den mysql Connector runtergeladen und entpackt. In den Classpath hab ich ihn über die Konsole eingefügt:


```
java -cp C:\Weg_zum_Pfad\mysql-connector-5.1.19-bin.jar
```

So nun zu meinem Programm..
Hier ist erstmal mein Quellcode bis jetzt:


```
try
          {
            // create our mysql database connection
            String myDriver = "com.mysql.jdbc.Driver";
            myDriver = "org.gjt.mm.mysql.Driver";
            String myUrl = "jdbc:mysql://localhost/schule";
            Class.forName(myDriver).newInstance();
            Connection conn = DriverManager.getConnection(myUrl, "root", "");
          }
catch (Exception e)
          {
            System.err.println(e.getMessage());
            e.printStackTrace();
          }
```
wenn ich es öffne kommt dann diese Fehlermeldung:

```
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:169)
	at Grundriss$MyMouseListener.mousePressed(Grundriss.java:48)
	at java.awt.Component.processMouseEvent(Component.java:6260)
	at java.awt.Component.processEvent(Component.java:6028)
	at java.awt.Container.processEvent(Container.java:2041)
	at java.awt.Window.processEvent(Window.java:1836)
	at java.awt.Component.dispatchEventImpl(Component.java:4630)
	at java.awt.Container.dispatchEventImpl(Container.java:2099)
	at java.awt.Window.dispatchEventImpl(Window.java:2478)
	at java.awt.Component.dispatchEvent(Component.java:4460)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
```
hat jemand eine Ahnung was der Fehler ist? Liegt es vielleicht am Classpath?
Danke für Hilfe!


----------



## HimBromBeere (23. Apr 2012)

> ```
> String myDriver = "com.mysql.jdbc.Driver";
> myDriver = "org.gjt.mm.mysql.Driver";
> ```


Was soll denn das?! Mit der zweiten String-Zuweisung überschreibst du die erste doch bloß, und 
	
	
	
	





```
org.gjt.mm.mysql.Driver
```
 ist nunmal keine valide Klasse.


----------



## irgendjemand (23. Apr 2012)

mal davon abgesehen ist ein "Class.forName().newInstance()" auch überhaupt nicht nötig da java.sql.DriverManager die ServiceLoader-API nutzt ... und die meisten jdbc-driver dafür ausgelegt sind ...
also muss der driver nur im CP liegen und er sollte von der VM automatisch geladen werden ...

aber mit [c]java -cp mysql-con.jar[/c] addest du diesen noch lange nicht zum CP ...
wie man diesen ändert kannst du in der FAQ nachlesen ...


alles in allem : lern bitte erstmal die grundlagen ... da diese scheinbar fehlen ...


----------



## Celes (23. Apr 2012)

HimBromBeere hat gesagt.:


> Was soll denn das?! Mit der zweiten String-Zuweisung überschreibst du die erste doch bloß, und
> 
> 
> 
> ...



da hab ich nur versucht über eine andere URL eine Verbindung zu bekommen was auch nich geklappt hat weil das gleiche Ergebnis rauskam..

Ja ich bin noch nicht so erfahren in diesem Gebiet und brauch dies für ein Projekt was ich bald abgeben muss! Ich hab wirklich probiert es zu lernen aber mir geht die Zeit davon.. Kannst du mir bitte den Link geben, wo ich nachlesen kann wie man den Klassenpfad einfügt? 
Vielen Dank!


----------



## irgendjemand (23. Apr 2012)

Celes hat gesagt.:


> Ja ich bin noch nicht so erfahren in diesem Gebiet und brauch dies für ein Projekt was ich bald abgeben muss! Ich hab wirklich probiert es zu lernen aber mir geht die Zeit davon.. Kannst du mir bitte den Link geben, wo ich nachlesen kann wie man den Klassenpfad einfügt?
> Vielen Dank!



NEIN ... da ich dir bereits einen tipp gegeben habe wo dies nach zu lesen ist ... zur not hilft auch das große G ...


----------



## Celes (23. Apr 2012)

ich meine nur.. wie fügt man dann den Klassenpfad ein?? Überall steht das man die Jar-Datei in den Klassenpfad einfügen muss nur wie? Ich hab wirklich schon überall nach einer Lösung gesucht aber es entweder falsch gemacht oder nicht verstanden


----------



## irgendjemand (24. Apr 2012)

Celes hat gesagt.:


> ich meine nur.. wie fügt man dann den Klassenpfad ein?? Überall steht das man die Jar-Datei in den Klassenpfad einfügen muss nur wie? Ich hab wirklich schon überall nach einer Lösung gesucht aber es entweder falsch gemacht oder nicht verstanden



wie gesagt : FAQ ...


----------



## Final_Striker (24. Apr 2012)

Celes hat gesagt.:


> ich meine nur.. wie fügt man dann den Klassenpfad ein?? Überall steht das man die Jar-Datei in den Klassenpfad einfügen muss nur wie? Ich hab wirklich schon überall nach einer Lösung gesucht aber es entweder falsch gemacht oder nicht verstanden



Schau mal hier: Datenbankverbindung (Java) ? Byte-Welt Wiki

Da ist ein Beispiel mit einer MySQL DB.


----------

