Zum Inhalt springen

java+linux+mysql zugriff


Empfohlene Beiträge

Geschrieben

Hoffe ihr könnt mir helfen....

Ich müßte ein java programm schreiben dass unter linux auf eine mysql datenbank zugreifen.....

soviel ich weiß muß dass ohne odbc auch gehen (wenn es odbc in linux überhaupt giebt?! )

Kann mir jemand helfen??

Wäre echt super!

Danke SwordMaster

Geschrieben

Also als erstes brauchst du eine funktionierende MySQL-Datenbank!;)

Dann brauchst du den Treiber den du hier findest. Und dann musst du nur noch das ganze in dein Java-Programm einbinden.

Treiber laden:

Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection aufbauen:
	connection_MySQL = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/Datenbank?user=username&password=Password");

Dannnur noch deine Statements und fertig ist der Zugriff auf die MySQL!!

Geschrieben

Hab mir jetzt

mysql-connector-java-3.0.8-sable.zip runtergeladen (hoff dass ist das richtige....)

nur in der zip datei sind sehr sehr sehr viele java und class dateien....

was mußt ich mit denen machen?!?!?

muß ich die auch in mein programm einbinden?!?!

wenn ja wie?!

sorry java ist nicht so meine stärke *G* udn linux schon gar nicht :(

Danke für eure hilfe!

SwordMaster

Geschrieben
Original geschrieben von SwordMaster

mysql-connector-java-3.0.8-sable.zip

Auszug aus README Datei eben dieser oben genannten Zip Datei.

Put mysql-connector-java-3.0.7-stable-bin.jar in your classpath, either by adding the

FULL path to it to your CLASSPATH enviornment variable, or putting it

in $JAVA_HOME/jre/lib/ext.

Das weitere Vorgehen steht ebenfalls in der README

Gruß Jaraz

Geschrieben

Folgendermaßen.

In dieser Zip ist eine Datei namens: "mysql-connector-java-3.0.8-stable-bin.jar". Erst mal entpacken. Diese benennst du am besten gleich mal in was kürzeres um (z.B. "mysql-driver.jar").

Dann brauchst du nur noch das Programm mit dem Parameter -classpath zu übersetzen: "javac -classpath .;laufwerk:\PfadZurJar\mysql-driver.jar Programm.java"

Und genauso führst du dein Programm auch aus: "java -classpath .;laufwerk:\PfadZurJar\mysql-driver.jar Programm"

Peet

Geschrieben

Hallo leute

bei windows hab ich die sache jetzt geschafft hab die *.zip datei entpackt....

dann die jar datei in den "ext"-Ordner von java kopiert (hab ich i nder Readme gelesen) und dann das programm ganz normal gestartet => hat funktioniert....

dann hab ich mir "mysql-connector-java-3.0.8-stable.tar.tar" datei runtergeladen (geh davon aus dass die für linux ist.... *.zip giebts ja in linux nicht oder?!? )

hab die dortenhaltene *.jar datei in den "ext" ordner auf der Linuxmaschine kopiert

und wollte das programm dann starten....

Kompilieren kann ich es ohne probleme...

aber

ich bekomme folgende fehlermeldung

java.lang.NullPointerException:

at SwordsMySQLClass.doMyQuerys(OnlyMy

at OnlyMySql.main(OnlyMySql.java:13)

das komische ist dass ich die zeilen

Class.forName("com.mysql.jdbc.Driver").newInstance();

con = DriverManager.getConnection("jdbc:mysql://192.168.40.173:3306/test");

schon im konstrukter der Datenbankklasse stehen habe....

also findet er den treiber dcoh oder?!??!

sonst würde er die Exception schon im Konstruktor werfen...

die doMyQuery führt nur eine selct anweisung aus:(((

könnt ihr mir helfen??!?!?!?

danke swordmaster

Geschrieben

komisch Ich verstehs nicht *GGG*

jetzt wollte ich die funktion kürzen weil sie sowieso zu lang für ein Testprogramm ist....

Jetzt habe ich nur

Class.forName("com.mysql.jdbc.Driver").newInstance();

Connection con = null;

con = DriverManager.getConnection("jdbc:mysql://192.168.40.173:3306/test");

Statement stat = con.createStatement();

stat.execute("insert into test VALUES (9);");

und krieg jetzt eine ClassNotFoundException

aber im windows hab ich doch auch nichts anderes gemacht als die *.jar datei in den Ext... ordner zu kopieren... und dann hats funktioniert....

order braucht die *.jar datei die anderen dateien die im zip archiv (das ich runtergeladen hab) sind auch noch?!

sorry hoff ich stell mich nicht zu doof!

Thx SwordMaster

Geschrieben

Da ich nicht weiß wie man unter Linux den System-Classpath setzt muß ich dir anders helfen.

Also du startest doch deine Klasse mit dem Aufruf von "java Klassenname"?!

So, und jetzt setzt du einfach nur noch einen Parameter davor. "java -classpath /home/irgendwas/Pfad/mysql-driver.jar;. Klassenname"

Achtung, vergess nicht den "." im Classpath da dieser auf das aktuelle Verzeichnis zeigt.

Geschrieben

Ich werf diese linux kiste gleich so weit... dass ich sie gar nicht mehr seh....

*verzweifel*

hab jetzt folgendes probiert(er soll ja nur Sql.java Starten)

java -classpath \home\volkstef\java\SqlDriver.jar;. Sql

==>Als ergebniss bekam ich: "bash: Sql: No such file or directory"

dann hab ich probiert(hab gedacht geb ich mal den ganzen pfad der Sql.java an):

java -classpath \home\volkstef\java\SqlDriver.jar;. \home\volkstef\java\Sql

==>Als ergebniss bekam ich: bash: homevolkstefjavaSql: No such file or directory

fragt mich nicht wieso der den "\" nicht versteht....

aus lauter verzweiflung hab ich probiert das ".java" beim java befehl mit anzugeben => funktioniert natürlich auch nicht wiel man das ja normal auch nicht macht.....

Da solls doch leute geben die meinen Linux sei das bessere system.....:( :( :( :(

Vielleicht hast ja noch nen geistesblitz?!

Geschrieben

tja...

jetzt hab ichs so versucht (statt "/" ein "\")

java -classpath /home/volkstef/java/SqlDriver.jar;. /home/volkstef/java/Sql

=> Ergebnis: bash: /home/volkstef/java/Sql: No such file or directory

ist MIR schon klar dass es nur eine "Sql.java" giebt und keine "Sql"aber wieso ist das dem linux nicht klar.....

:confused: :confused: :( :( :confused: :confused:

P.S.

java -classpath /home/volkstef/java/SqlDriver.jar;. Sql

funktioniert natürlicha auch nicht

Geschrieben

Also folgendermaßen.

Du wechselst in das Verzeichnis in dem die Sql.java liegt (und natürlich die Sql.class falls du keine Packages verwendet hast).

"cd /home/volkstef/java"

Und dann gibst du den Befehl ein: "java -classpath /home/volkstef/java/SqlDriver.jar;. Sql"

Wobei ich mir mit dem "." nicht ganz sicher bin (ich kenn das von Windows her)

Aber die Fehlermeldung kommt ja nur beim letzten Teil deines Aufrufs.

Peet

Geschrieben

das ist ja das komische!

ICH WAR JA IMMER in dem verzeichniss wo die Sql.java udn Sql.class liegt!!

bei:

java -classpath /home/volkstef/java/SqlDriver.jar Sql

=> Ergeniss: "Unable to initialize threads: cannot find class java/lang/Thread"

bei

java -classpath /home/volkstef/java/SqlDriver.jar;. Sql

=> Ergebniss: bash: Sql: No such file or directory

obwohl ich im Verzeichniss bin!!

Übrigens habe ich vorhin im internet gelesen dass Linux die einzelnen pfade mit ":" und nicht mit ";" trennt also hab ichs mal so probiert

java -classpath /home/volkstef/java/SqlDriver.jar:. Sql

=> Ergebniss: "Unable to initialize threads: cannot find class java/lang/Thread"

kann es sein dass wenn ich mit parameter classpath arbeite die restlichen standartpfade die in classpath stehen für diesen aufruf nicht gelten und deshalb der fehler kommt?!

Geschrieben
java -classpath /home/volkstef/java/SqlDriver.jar:. Sql

=> Ergebniss: "Unable to initialize threads: cannot find class java/lang/Thread"

kann es sein dass wenn ich mit parameter classpath arbeite die restlichen standartpfade die in classpath stehen für diesen aufruf nicht gelten und deshalb der fehler kommt?!

Also das wäre eigentlich der richtige Aufruf. Die anderen Pfade die im System-Classpath stehen gelten deswegen noch weiterhin. Ich glaub da ist was bei der installation schief gelaufen. Findest du irgendwo auf deinem System die "rt.jar" (so um die 25MB groß)?? Müsste eigentlich irgendwo in dem Verzeichnis liegen in dem du dein Java SDK installiert hast. Die nimmst du noch in den Classpath auf.

Dann weiß ich auch nicht weiter.:confused:

Geschrieben

Nach langem suchen und stöbern hab ichs durch zufall gemerkt....

Es war ein alter java compiler (JDK 1.18) installiert....

der neue war zwar auf der platte... aber der alte wurde benutzt....

is echt doof gelaufen, da es nicht mein server war, und die neue java installation hab ich damals auch nicht gemacht....

Jetzt läuft der neue compiler

und die Datenbank verbindung war auch nicht mehr schwer....

Danke für deine geduld!

Ciao SwordMaster

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...