Fragen zu Datenbanksystemen

Status
Nicht offen für weitere Antworten.

Webmaster Pazi

Aktives Mitglied
Hallo User!

Ich sitze jetzt schon seit ca. 2 wochen an dem problem:

ich weiß leider nicht, wie man lokal sich in java mit einer Datenbank verbindet..

deshalb einige fragen:

1. Was und wozu braucht man JDBC?

2. Ist Hsqldb überhaupt notwendig für eine datenbankverbindung?

3. Wie sieht das jetzt mit den treibern aus? Muss ich die irgendwie in einen speziellem ordner hineingeben oder so?

3.1 Und wieso überhaupt als Treiberklasse org.hsqldb...?

Ich Arbeite mit Eclipse und habe schon versucht mich mit der MySQL datenbank zu verbinden. Leider treten da fehler auf mit den treibern, obwohl die Treiber und die versionen erscheinen, lässt Eclispe mich nicht mit der Datenbank verbinden.

So ich glaub das wars erstmal!

Hoffentlich könnt ihr mich einwenig darüber aufklären, denn ich blick da gerade null durch.

Danke!
 
Zuletzt bearbeitet:

MrWhite

Bekanntes Mitglied
1. Was und wozu braucht man JDBC?

JDBC steht für Java-Database-Connectivity und bietet eine einheitliche (Programmier-)Schnittstelle, über die man sich mit allen Datenbanken für die es einen JDBC-Treiber gibt verbinden kann. JDBC ermöglicht es eine Verbindung aufzubauen, Abfragen über diese zu senden und Ergebnisse zurückzubekommen.

2. Ist Hsqldb überhaupt notwendig für eine datenbankverbindung?
HSQLDB ist eine eigenständige Datenbank. Die brauchst du nur, wenn du sie nutzen willst. Wenn du mit MySQL arbeiten willst und absoluter Neuling bist, vergiss erstmal HSQLDB.

3. Wie sieht das jetzt mit den treibern aus? Muss ich die irgendwie in einen speziellem ordner hineingeben oder so?

Jein. Du musst die Treiber, die wahrscheinlich als .jar Datei vorliegen, im Classpath haben. Dies kannst du in Eclipse in den Projekteinstellungen tun. Dort gibst du einfach mal deinen Treiber als Abhängigkeit an.

3.1 Und wieso überhaupt als Treiberklasse org.hsqldb...?
Das sollte sich mittlerweile erübrigt habe.

Mach doch erstmal ein Tutorial:

Let me google that for you

MfG.
MrWhite
 

Webmaster Pazi

Aktives Mitglied
Danke!

Endlich blicke ich da mal etwas durch! :)

Ich versuchs mal!

Edit:

Mein problem ist, dass ich nicht weiß wie das genau in eclispe funktioniert (das mit dem classenpfad)
 
Zuletzt bearbeitet:

MrWhite

Bekanntes Mitglied
06fig01.jpg


Also, diesen Dialog müsstest du schon gesehen haben. Links in der Liste wählst du "Java Build Path" aus und wählst den Reiter "Libraries" an. Dort fügst du deine Bibliothek ein, dann sollte dein Programm den Treiber laden können.
 

Webmaster Pazi

Aktives Mitglied
Okay, dann war ich ja doch richtig ;)

Da kommt dann eine Liste mit allen treiber und dann klicke ich auf MySQL JDBC Driver dann steht oben im Fenster "Unable to locate JAR/zip in file system as specified by the driver definition: mysql-connector-java-5.1.0-bin.jar" da kann ich dann leider nicht ok anklicken.
 

MrWhite

Bekanntes Mitglied
Hmm, versuchst du da über irgendeinen DataSource-Explorer zuzugreifen oder so?

Geh doch einfach auf das Library-Tab, Füge deine mysql-jar über den "Add Jar" Button hinzu und dann poste bitte mal den Output von folgendem Code:

Java:
public static void main(String[] args)
{
	try
	{
		Class.forName("com.mysql.jdbc.driver").getInstance();
		System.out.println("Success");
		System.exit(0);
	}
	catch(Exception ex)
	{
		System.out.println("FAIL");
		ex.printStackTrace();
		System.exit(1);
	}
}
 

Webmaster Pazi

Aktives Mitglied
Hallo!

Also ich kann die mysql-jar nur per Add external Class Folder oder Add external jar file hinzufügen.

die ausgabe:

FAIL
java.lang.ClassNotFoundException: com.mysql.jdbc.driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at test.main(test.java:6)
 
Zuletzt bearbeitet:

Webmaster Pazi

Aktives Mitglied
Klappt leider auch nicht :(

ich verstehe es einfach nicht wieso das so umständlich sein muss..., und dann klappts auch nicht mal!

Edit: ich habe ein bisschen herumgespielt und bei den daten der datenbankverbindung steht in eclispe folgendes:

Connection URL: jdbc:mysql://localhost:3306/database

könnte das sein, dass ich mysql installieren muss? wegen dem localhost..
 
Zuletzt bearbeitet:

L-ectron-X

Gesperrter Benutzer
Wenn du immer noch die gleiche Fehlermeldung hast, ist der Treiber immer noch nicht im Classpath.
Und natürlich muss auch eine Datenbank im Hintergrund laufen, aber das hat erst mal wie gesagt nichts mit der obigen Fehlermeldung zu tun.
 

Webmaster Pazi

Aktives Mitglied
Ja, also ich hab das alles schon versucht, ich weiß nicht weiter..

Kommt es darauf an ob es eine .jar, .java datei oder ein ordner sein muss?

Und wo sich die datei/der Ordner befinden muss?

Wenn ja, wo?

Es kann sein das ich da nämlich was falschgemacht habe..
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben