# DB.Treiber wird nicht gefunden?



## chrimoe (1. Feb 2011)

Folgendes Problem tritt bei Connect auf eine mysql-DB auf:

URLClassLoader$1.run() line: not available [local variables unavailable] -	Source not found

Wo genau muß der mysql-connector (Treiber) eingebunden bzw. kopiert werden, auf der Stufe des Projektes, des Package oder der Class? Ich arbeite mit eclipse.

Und muß der Classpath auch zwingend gesetzt sein?;(


----------



## SlaterB (1. Feb 2011)

eine Umgebungsvariable ClassPath interessiert Eclipse beim Starten weiterer Programme nicht,
wo das jar liegt ist nicht entscheidend,
unter den Projekt-Properties gibt es Java Build Path ->  Libraries -> Add External Jar bzw. ähnliches


----------



## chrimoe (2. Feb 2011)

Hallo, vielen Dank für den Tip.

Den Treiber hatte ich bereits unter den Projektproperties eingebunden, ohne Erfolg.

Daher gehe ich davon aus, das er die DB ans sich nicht findet!?

Wie muß die DB-URL beimConnect aussehen?
So sieht mein Aufruf aus: (wobei der Compiler -auf Grund der Fehlermeldung offensichtlich- erst gar nicht bei den CATCH-Blöcken ankommt)


```
try
		{
			Class.forName("com.mysql.jdbc.Driver");
			
		}
		catch (ClassNotFoundException cnf_ex)
		{
			System.out.println("Treiber konnte nicht gefunden werden" +cnf_ex.getMessage());
		}
		
		try
		{
			conn = DriverManager.getConnection("jdbc:mysql//localhost:3306//test", user, passw);
			
		}
		catch (Exception con_ex)
		{
			System.out.println("Verbindungsaufbau zur Datenbank gescheitert");
		}
```

Mit folgender Fehlermeldung quitttiert das System:


> Thread [main] (Suspended (exception ClassNotFoundException))
> URLClassLoader$1.run() line: not available [local variables unavailable]
> AccessController.doPrivileged(PrivilegedExceptionAction<T>, AccessControlContext) line: not available [native method]
> Launcher$ExtClassLoader(URLClassLoader).findClass(String) line: not available
> ...



Ferner sagt eclipse mir:


> SOURCE NOT FOUND - und bietet einen Button "Edit Source Look Up path..."


 an.
Dort ist auch der DB-Treiber zu sehen, allerdings nicht unter dem DEFAULT-Path, sondern in einem eigenen Pfad. 

Ist das eventuell der Fehler????


----------



## SlaterB (2. Feb 2011)

läuft das Programm grundsätzlich überhaupt?
kannst du ein System.out.println("gleich gehts los"); vor dem vermeintlich gefährlichen Code einbauen und wird das angezeigt?
die Fehlermeldung ist so allgemein, da könnte man auch vermuten dass nichtmal deine Programmklassen richtig ausgeführt werden, 
oder dass ein Problem mit der allgemeinen Java-API besteht

kommt der Text "Treiber konnte nicht gefunden werden" irgendwo in der Ausgabe?
die lange Ausgabe passt gar nicht zu deinem Code
> System.out.println("Treiber konnte nicht gefunden werden" +cnf_ex.getMessage());

---

stelle erstmal sicher dass das Programm ohne DB läuft,
dann gib den StackTrace der Exception aus:
System.out.println("Treiber konnte nicht gefunden werden");
cnf_ex.printStackTrace();

----

den Quellcode zum DB-Treiber hat man in der Regel nicht, das stimmt schon so


----------



## chrimoe (2. Feb 2011)

Hallo. 

vielen Dank für den heißen Tip. eclipse wirft grundsätzlich diese Probleme.

Ist eclipse oder das JDK geschreddert? Was muß ich tun um's wieder zu richten?


----------



## SlaterB (2. Feb 2011)

dazu kann ich nichts spekulieren, am sichersten wäre, mit Neuinstallation des Betriebssystems anzufangen..,
vorher vielleich Java deinstallieren und neu, Eclipse löschen und neu herunterladen

wenn nötig in einem neuen Thema fragen, DB nicht erwähnen, mit Hello World-Programmen anfangen


----------

