SOS - java - jdbc - mysql
Hallo, ich versuche mit den folgenden Zeilen (Passwort und Username) sind natürlich entsprechend eine Verbindung zu meinem mysql-Server herzustellen (mit php geht es, von daher läuft der schon mal richtig) ... also muss es an dem Programmliegen ... Kann mir jemand sagen wo der Fehler läuft oder ob es an meiner Version vom JDBC liegt oder oder oder ... vielleicht mal kurz kompilieren und durchlaufen lassen?? Danke schon mal im Voraus ... OLI Der Code: ****************************************************** import java.io.*; import java.sql.*; class P01_ConTest { public static void main (String args[]) { boolean verbindungAufgebaut = false; try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("1"); String url = "jdbc:mysql://localhost:3306/oodm"; System.out.println("2"); Connection con = DriverManager.getConnection(url, "username", "passwd"); System.out.println("3"); System.out.println("Verbindung zur MYSQL-DB erfolgreich hergestellt!"); System.out.println("4"); verbindungAufgebaut = true; System.out.println("5"); con.close(); System.out.println("6"); } catch (java.sql.SQLException sqle) { sqle.printStackTrace(); } catch (java.lang.ClassNotFoundException cnfe) { System.out.println("Konnte Klasse nicht finden!!"); } finally { if (!verbindungAufgebaut) System.out.println("Konnte Verbindung zur MYSQL-DB nicht aufbauen!!"); } } } Die Fehlermeldung: ************************************************************* tow@linux:~/syncronize/studium_aktuelleVL/ObjektorientiertesDatenmanagement/meineProgramme/jdbc> java P01_ConTest 1 2 java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.ConnectException: Connection refused ** BEGIN NESTED EXCEPTION ** java.net.ConnectException MESSAGE: Connection refused STACKTRACE: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158) at java.net.Socket.connect(Socket.java:452) at java.net.Socket.connect(Socket.java:402) at java.net.Socket.<init>(Socket.java:309) at java.net.Socket.<init>(Socket.java:124) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:121) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:220) at com.mysql.jdbc.Connection.createNewIO(Connection.java:1768) at com.mysql.jdbc.Connection.<init>(Connection.java:440) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:400) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at P01_ConTest.main(P01_ConTest.java:12) ** END NESTED EXCEPTION ** at com.mysql.jdbc.Connection.createNewIO(Connection.java:1836) at com.mysql.jdbc.Connection.<init>(Connection.java:440) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:400) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at P01_ConTest.main(P01_ConTest.java:12) Konnte Verbindung zur MYSQL-DB nicht aufbauen!! tow@linux:~/syncronize/studium_aktuelleVL/ObjektorientiertesDatenmanagement/meineProgramme/jdbc>
Seltsamerweise funktioniert es bei einer älteren Version aus dem Netz ... Hat jemand eine Idee warum ... kann es sein, dass der JDBC nicht mit der mysql 4er Version kompatibel ist??? Hat den jemand mit eriner aktuelleren als der 3.23.49 am laufen? tia und Grüße OLI Am Donnerstag, 5. August 2004 00:19 schrieb Tim Oliver Wagner:
Hallo, ich versuche mit den folgenden Zeilen (Passwort und Username) sind natürlich entsprechend eine Verbindung zu meinem mysql-Server herzustellen (mit php geht es, von daher läuft der schon mal richtig) ... also muss es an dem Programmliegen ...
Kann mir jemand sagen wo der Fehler läuft oder ob es an meiner Version vom JDBC liegt oder oder oder ... vielleicht mal kurz kompilieren und durchlaufen lassen??
Danke schon mal im Voraus ...
OLI
Der Code: ****************************************************** import java.io.*; import java.sql.*;
class P01_ConTest { public static void main (String args[]) { boolean verbindungAufgebaut = false; try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("1"); String url = "jdbc:mysql://localhost:3306/oodm"; System.out.println("2"); Connection con = DriverManager.getConnection(url, "username", "passwd"); System.out.println("3"); System.out.println("Verbindung zur MYSQL-DB erfolgreich hergestellt!"); System.out.println("4"); verbindungAufgebaut = true; System.out.println("5"); con.close(); System.out.println("6"); } catch (java.sql.SQLException sqle) { sqle.printStackTrace(); } catch (java.lang.ClassNotFoundException cnfe) { System.out.println("Konnte Klasse nicht finden!!"); } finally { if (!verbindungAufgebaut) System.out.println("Konnte Verbindung zur MYSQL-DB nicht aufbauen!!"); } } }
Die Fehlermeldung: *************************************************************
tow@linux:~/syncronize/studium_aktuelleVL/ObjektorientiertesDatenmanagement /meineProgramme/jdbc> java P01_ConTest 1 2 java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.ConnectException: Connection refused
** BEGIN NESTED EXCEPTION **
java.net.ConnectException MESSAGE: Connection refused
STACKTRACE:
java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158) at java.net.Socket.connect(Socket.java:452) at java.net.Socket.connect(Socket.java:402) at java.net.Socket.<init>(Socket.java:309) at java.net.Socket.<init>(Socket.java:124) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:121 ) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:220) at com.mysql.jdbc.Connection.createNewIO(Connection.java:1768) at com.mysql.jdbc.Connection.<init>(Connection.java:440) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:400) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at P01_ConTest.main(P01_ConTest.java:12)
** END NESTED EXCEPTION **
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1836) at com.mysql.jdbc.Connection.<init>(Connection.java:440) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:400) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at P01_ConTest.main(P01_ConTest.java:12) Konnte Verbindung zur MYSQL-DB nicht aufbauen!! tow@linux:~/syncronize/studium_aktuelleVL/ObjektorientiertesDatenmanagement /meineProgramme/jdbc>
Hallo, * On Thu, Aug 05, 2004 at 01:01 AM (+0200), Tim Oliver Wagner wrote:
Seltsamerweise funktioniert es bei einer älteren Version aus dem Netz ...
Hat jemand eine Idee warum ... kann es sein, dass der JDBC nicht mit der mysql 4er Version kompatibel ist??? Hat den jemand mit eriner aktuelleren als der 3.23.49 am laufen?
Ich habe hier "MySQL-4.0.20" (selbst kompiliert unter SuSE Linux 9.0) zusammen mit "mysql-connector-java-3.0.14-production-bin.jar" laufen, soweit keine Probleme... Gruss, Steffen
Hallo,
Hattest du den driver ins class path oder as
java/lib/ext/ installiert?
Grus
george
--- Steffen Moser
Hallo,
* On Thu, Aug 05, 2004 at 01:01 AM (+0200), Tim Oliver Wagner wrote:
Seltsamerweise funktioniert es bei einer älteren Version aus dem Netz ...
Hat jemand eine Idee warum ... kann es sein, dass der JDBC nicht mit der mysql 4er Version kompatibel ist??? Hat den jemand mit eriner aktuelleren als der 3.23.49 am laufen?
Ich habe hier "MySQL-4.0.20" (selbst kompiliert unter SuSE Linux 9.0) zusammen mit "mysql-connector-java-3.0.14-production-bin.jar" laufen, soweit keine Probleme...
Gruss, Steffen
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-programming-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-programming-help@suse.com
Vous manquez despace pour stocker vos mails ? Yahoo! Mail vous offre GRATUITEMENT 100 Mo ! Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/ Le nouveau Yahoo! Messenger est arrivé ! Découvrez toutes les nouveautés pour dialoguer instantanément avec vos amis. A télécharger gratuitement sur http://fr.messenger.yahoo.com
Hi, ja das connection Objekt erstellt er der Fehlermeldung nach zu urteilen ordentlich ... jedoch schlaegt der Verbindungsaufbau fehl ... Ich habe es nach .../ext/ kopiert ... Grüße OLI Am Donnerstag, 5. August 2004 04:46 schrieb George Stoianov:
Hallo,
Hattest du den driver ins class path oder as java/lib/ext/ installiert?
Grus george
--- Steffen Moser
a écrit : Hallo,
* On Thu, Aug 05, 2004 at 01:01 AM (+0200), Tim
Oliver Wagner wrote:
Seltsamerweise funktioniert es bei einer älteren
Version aus dem Netz ...
Hat jemand eine Idee warum ... kann es sein, dass
der JDBC nicht mit der mysql
4er Version kompatibel ist??? Hat den jemand mit
eriner aktuelleren als der
3.23.49 am laufen?
Ich habe hier "MySQL-4.0.20" (selbst kompiliert unter SuSE Linux 9.0) zusammen mit "mysql-connector-java-3.0.14-production-bin.jar" laufen, soweit keine Probleme...
Gruss, Steffen
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-programming-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-programming-help@suse.com
Vous manquez despace pour stocker vos mails ? Yahoo! Mail vous offre GRATUITEMENT 100 Mo ! Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/
Le nouveau Yahoo! Messenger est arrivé ! Découvrez toutes les nouveautés pour dialoguer instantanément avec vos amis. A télécharger gratuitement sur http://fr.messenger.yahoo.com
Hallo Oli, hallo leute
--- Tim Oliver Wagner
Hi, ja das connection Objekt erstellt er der Fehlermeldung nach zu urteilen ordentlich ... jedoch schlaegt der Verbindungsaufbau fehl ...
Ich habe es nach .../ext/ kopiert ...
gut
Grüße
OLI
Also ich denke du hast ein java program die mus ien verbindung zu MySQL erstellen, richtig? Was ich naechts versuchen werde ist ein verbindung zu dem selben database zu erstellen durch etwas anders als mein program. MySQL Control Centre werde ein gutten start. Wenn ich mit denn selben user wie mein java program ein verbindung (connection) machen kann dann werde ich mein source code gepruefen ob ich die richtige java driver reference habe. Bitte email die DataSource settings ins deinen code in nachtes email. Do sollst auch versuchen die ganzen verbindung ins ein ander class file versuchen, wenn das klapt kanst sagen das etwas anders mus die problem sein. Du kannst auch die "documentation" fuer denn driver leseh das hat mir geholfen. Grus George Bitte entschuldige mein Deutsch .... :) ich hoffe sie koennen es verstehen
Am Donnerstag, 5. August 2004 04:46 schrieb George Stoianov:
Hallo,
Hattest du den driver ins class path oder as java/lib/ext/ installiert?
Grus george
--- Steffen Moser
a écrit : Hallo,
* On Thu, Aug 05, 2004 at 01:01 AM (+0200), Tim
Oliver Wagner wrote:
Seltsamerweise funktioniert es bei einer älteren
Version aus dem Netz ...
Hat jemand eine Idee warum ... kann es sein, dass
der JDBC nicht mit der mysql
4er Version kompatibel ist??? Hat den jemand mit
eriner aktuelleren als der
3.23.49 am laufen?
Ich habe hier "MySQL-4.0.20" (selbst kompiliert unter SuSE Linux 9.0) zusammen mit "mysql-connector-java-3.0.14-production-bin.jar" laufen, soweit keine Probleme...
Gruss, Steffen
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-programming-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-programming-help@suse.com
Vous manquez despace pour stocker vos mails ? Yahoo! Mail vous offre GRATUITEMENT 100 Mo ! Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/
Le nouveau Yahoo! Messenger est arrivé ! Découvrez toutes les nouveautés pour dialoguer instantanément avec vos amis. A télécharger gratuitement sur http://fr.messenger.yahoo.com
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-programming-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-programming-help@suse.com
Vous manquez despace pour stocker vos mails ? Yahoo! Mail vous offre GRATUITEMENT 100 Mo ! Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/ Le nouveau Yahoo! Messenger est arrivé ! Découvrez toutes les nouveautés pour dialoguer instantanément avec vos amis. A télécharger gratuitement sur http://fr.messenger.yahoo.com
Hallo, * On Thu, Aug 05, 2004 at 12:19 AM (+0200), Tim Oliver Wagner wrote:
ich versuche mit den folgenden Zeilen (Passwort und Username) sind natürlich entsprechend eine Verbindung zu meinem mysql-Server herzustellen (mit php geht es, von daher läuft der schon mal richtig) ... also muss es an dem Programmliegen ...
Fuehrst Du Dein Java-Programm wirklich auf dem Rechner aus, auf dem auch Dein MySQL-Datenbank-Server laeuft? Was passiert, wenn Du an einer Shell auf der selben Maschine, auf der Du Dein Java-Programm ausführst, folgen- des eintippst: telnet localhost 3306 Denkbar ist auch, dass Dein PHP- mit dem MySQL-DB-Server ueber Sockets kommuniziert und nicht mittels "TCP over IP". Lauscht Dein MySQL-DB-Server ueberhaupt auf einem TCP-Port (z.B. mal mit den Tools "netstat -l -n" oder mit "lsof" testen)? Gruss, Steffen
Am Donnerstag, 5. August 2004 01:21 schrieb Steffen Moser:
telnet localhost 3306
Hmmm, kann es vielleicht an dem Eintrag in der /etc/passwd liegen? Ich habe da manuell eingetragen: mysql:x:1001:2::/tmp:/bin/bash Ich habe mysql selbst gebaut, deswegen der Manuelle Eintrag ... Was steht da bei Euch? Grüße OLI
Am Donnerstag, 5. August 2004 01:21 schrieb Steffen Moser:
telnet localhost 3306 Hallo, danke für die Ideen ... hier die Ausgaben (habe noch einen Portscan hinzugefuegt):
tow@linux:~> telnet localhost 3306 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. ' 4.0.18g[rK^xbb,Connection closed by foreign host. tow@linux:~> nmap localhost Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2004-08-05 08:41 CEST Interesting ports on localhost (127.0.0.1): (The 1652 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 25/tcp open smtp 80/tcp open http 111/tcp open rpcbind 631/tcp open ipp 3306/tcp open mysql Nmap run completed -- 1 IP address (1 host up) scanned in 0.358 seconds tow@linux:~> Es funktioniert mit phpmyadmin ... da es über einen Web-Server läuft denke ich wird es schon auch über tcp/ip laufen ... oder? Abgesehen davon steht beim Portscan tcp dabei ... Also noch mal danke ... ich hoffe es hat noch jemand Ideen ... Grüße OLI
Am Donnerstag, 5. August 2004 00:19 schrieb Tim Oliver Wagner:
Der Code: ****************************************************** import java.io.*; import java.sql.*;
class P01_ConTest { public static void main (String args[]) { boolean verbindungAufgebaut = false; try { Class.forName("com.mysql.jdbc.Driver");
Ich verwende da immer "org.gjt.mm.mysql.Driver", keine Ahnung, ob das inzwischen veraltet ist, aber es funktioniert.
System.out.println("1"); String url = "jdbc:mysql://localhost:3306/oodm";
Welche SuSE Version verwendest Du? Ich hatte damit unter SuSE 9.1 erstmals irrsinnige Probleme, mit localhost funktionierte es nicht mehr (ich vermute ein IPv6 Problem). Wenn ich hingegen 127.0.0.1 verwende, sind die Probleme weg. Ist vielleicht nen Versuch wert. Ansonsten finde ich keine grundsätzlichen Unterschiede zu meinen eigenen Programmen. Übrigens, ich verwende SuSE 9.1 mit MySQL 4.0.18 (die SuSE mitliefert, mit allen Updates) und MySQL_Connector/J 3.0.14 (RPM wie immer bei Packman http://packman.links2linux.de/?action=290, ansonsten bei http://www.mysql.com/downloads/api-jdbc.html) -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ Manfred | http://packman.links2linux.de/
Am Donnerstag, 5. August 2004 19:46 schrieb Manfred Tremmel:
Am Donnerstag, 5. August 2004 00:19 schrieb Tim Oliver Wagner: Welche SuSE Version verwendest Du? Ich hatte damit unter SuSE 9.1 erstmals irrsinnige Probleme, mit localhost funktionierte es nicht mehr (ich vermute ein IPv6 Problem). Wenn ich hingegen 127.0.0.1 verwende, sind die Probleme weg. Ist vielleicht nen Versuch wert.
Hallo Manfred, Du hast mal wieder genau ins Schwarze getroffen! 127.0.0.1 funktioniert! Danke! Jedoch muss ich (auch) von extern (der Uni) zugreifen ... hast Du eine Ahnung wie ich das problem mit IPv6 in den Griff bekomme??? tia OLI
Am Donnerstag, 5. August 2004 20:23 schrieb Tim Oliver Wagner:
Hallo Manfred, Du hast mal wieder genau ins Schwarze getroffen! 127.0.0.1 funktioniert! Danke!
Jedoch muss ich (auch) von extern (der Uni) zugreifen ... hast Du eine Ahnung wie ich das problem mit IPv6 in den Griff bekomme???
Mit anderen Serveren per Rechnername zuzugreifen (bei mir z.B. www.knightsoft-net.de) hab ich bisher keine Probleme. Probiers einfach mal aus, die Berechtigung muss natürlich in MySQL entsprechend gegeben sein und nicht auf localhost beschränkt sein. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ Manfred | http://packman.links2linux.de/
Am Donnerstag, 5. August 2004 21:17 schrieb Manfred Tremmel:
Am Donnerstag, 5. August 2004 20:23 schrieb Tim Oliver Wagner:
Hallo Manfred, Du hast mal wieder genau ins Schwarze getroffen! 127.0.0.1 funktioniert! Danke!
Jedoch muss ich (auch) von extern (der Uni) zugreifen ... hast Du eine Ahnung wie ich das problem mit IPv6 in den Griff bekomme???
Mit anderen Serveren per Rechnername zuzugreifen (bei mir z.B. www.knightsoft-net.de) hab ich bisher keine Probleme. Probiers einfach mal aus, die Berechtigung muss natürlich in MySQL entsprechend gegeben sein und nicht auf localhost beschränkt sein.
ähm, ich glaube wir haben gerade aneinander vorbei geredet ... ich wollte einfach auf meinen MYSQL Server von der UNI aus zugreifen ... aber da das MYSQL ja nur auf 127.0.0.1 hört, funktioniert es ja nicht ... :-( Ich habe einen Account bei www.dyndns.org ... falls Du das redirect meinst ... mit dem www.knightsoft-net.de ... Also ich meine das mit der Berechtigung von mysql ... dass ich einfach von ausserhalb zugreifen kann ... das müsste ich irgendwie hinbekommen ... aber leider habe ich keine Ahnung wie ... Hoffentlich kannst Du mir diesbezüglich noch einen guten Tipp geben ... schöne Grüße OLI
Am Donnerstag, 5. August 2004 22:48 schrieb Tim Oliver Wagner:
ähm, ich glaube wir haben gerade aneinander vorbei geredet ... ich wollte einfach auf meinen MYSQL Server von der UNI aus zugreifen ... aber da das MYSQL ja nur auf 127.0.0.1 hört, funktioniert es ja nicht ... :-(
Klar, Du musst die IP oder den Namen des Rechners verwenden, auf den Du zugreifst. Die 127.0.0.1 bzw. localhost sind ja nur für den Rechner an dem man sitzt.
Ich habe einen Account bei www.dyndns.org ... falls Du das redirect meinst ... mit dem www.knightsoft-net.de ...
Ich meine, dass ich von hier aus per Java problemlos auf die MySQL Datenbank von www.knightsoft-net.de zugreifen kann, indem ich eben per "jdbc:mysql://www.knightsoft-net.de:3306/DBNAME" zugreifen kann.
Also ich meine das mit der Berechtigung von mysql ... dass ich einfach von ausserhalb zugreifen kann ... das müsste ich irgendwie hinbekommen ... aber leider habe ich keine Ahnung wie ...
Na freilich, Du musst halt eine Berechtigung einrichten, von Deinem DynDNS namen her und den stellst Du eben dann auch in die JDBC-URL rein. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ Manfred | http://packman.links2linux.de/
Am Freitag, 6. August 2004 20:13 schrieb Manfred Tremmel:
Am Donnerstag, 5. August 2004 22:48 schrieb Tim Oliver Wagner:
ähm, ich glaube wir haben gerade aneinander vorbei geredet ... ich wollte einfach auf meinen MYSQL Server von der UNI aus zugreifen ... aber da das MYSQL ja nur auf 127.0.0.1 hört, funktioniert es ja nicht ... :-(
Klar, Du musst die IP oder den Namen des Rechners verwenden, auf den Du zugreifst. Die 127.0.0.1 bzw. localhost sind ja nur für den Rechner an dem man sitzt.
Ähm, nee ... also ich sitze an dem Rechner mit der 192.168.0.3 und greife im Programm auf den Rechner 192.168.0.1 zu und es kommt zu folgender Fehlermeldung: tow@linux:~> java P06_selectSomething java.sql.SQLException: Data source rejected establishment of connection, message from server: "Host '192.168.0.3' is not allowed to connect to this MySQL server" at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:645) at com.mysql.jdbc.Connection.createNewIO(Connection.java:1771) at com.mysql.jdbc.Connection.<init>(Connection.java:440) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:400) at java.sql.DriverManager.getConnection(DriverManager.java:512) at java.sql.DriverManager.getConnection(DriverManager.java:171) at P06_selectSomething.main(P06_selectSomething.java:7) tow@linux:~> Also wenn ich es auf dem Rechner selbst laufen lasse und die 192.168.0.1 durch die 127.0.0.1 ersetze, dann funktioniert es ... Also einfach die IP angeben geht nicht ... habe es auch mit der Internet-IP probiert kommt die gleiche Meldung ... lediglich die IP ist natürlich anders in der Fehlermeldung und es dauert ein wenig länger .... Weisst Du jetzt was mein Problem ist? Grüße OLI
Am Samstag, 7. August 2004 00:21 schrieb Tim Oliver Wagner:
Also einfach die IP angeben geht nicht ... habe es auch mit der Internet-IP probiert kommt die gleiche Meldung ... lediglich die IP ist natürlich anders in der Fehlermeldung und es dauert ein wenig länger ....
Weisst Du jetzt was mein Problem ist?
Wie ist denn die Berechtigung in MySQL eingerichtet? Zu jeder Berechtigung gibts ja das Feld Host, wenn keine Berechtigung vorhanden ist, bei der Host, User und Passwort passen, geht natürlich nichts. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ Manfred | http://packman.links2linux.de/
Am Samstag, 7. August 2004 01:02 schrieb Manfred Tremmel:
Am Samstag, 7. August 2004 00:21 schrieb Tim Oliver Wagner:
Also einfach die IP angeben geht nicht ... habe es auch mit der Internet-IP probiert kommt die gleiche Meldung ... lediglich die IP ist natürlich anders in der Fehlermeldung und es dauert ein wenig länger ....
Weisst Du jetzt was mein Problem ist?
Wie ist denn die Berechtigung in MySQL eingerichtet? Zu jeder Berechtigung gibts ja das Feld Host, wenn keine Berechtigung vorhanden ist, bei der Host, User und Passwort passen, geht natürlich nichts.
Hmmm, also ich habe an Anfach einmal aufgerufen: scripts/mysql_install_db /usr/local/mysql/current/bin/safe_mysqld & /usr/local/mysql/current/bin/mysqladmin -u root password 'geheim' mehr habe ich nicht verändert. Und wenn ich per phpmyadmin verbinde, dann gebe ich auch User root und Passwort geheim ein sowie localhost. Bei Java muss ich eingeben ("jdbc:mysql://127.0.0.1:3306/database", "root", "passwort") ... wenn ich die 127.0.0.1 durch localhost oder die ip des Rechners verändere geht wie gesagt nichts. Meintest Du das Anlegen von oben? Also root und passwort mit Deiner Mail? Oder wie bekomme ich raus welche Berechtigungen vorhanden sind? Sorry, kenne mich bisher nicht so gut mit mysql aus. Das hat in den letzten Jahren einfach immer funktioniert. Schöne Grüße OLI
Hallo, Am Sat, 07 Aug 2004, Tim Oliver Wagner schrieb:
Oder wie bekomme ich raus welche Berechtigungen vorhanden sind?
echo 'select * from mysql.user;select * from mysql.host;' | \ mysql -u root -p Du solltest dringend /usr/share/doc/packages/mysql/html/manual.html#Privilege_system und sofern vorhanden /usr/share/doc/packages/mysql/html/de/mysql-96.html lesen. -dnh -- Aber was ist JavaScript? Eine Sprache zum Ausspionieren fremder Daten und zum Nerven anderer Leute (etwa durch Pop-up-windows). (Boris Piwinger in de.comm.infosystems.www.browsers)
Am Samstag, 7. August 2004 08:31 schrieb Tim Oliver Wagner:
also ich habe an Anfach einmal aufgerufen: scripts/mysql_install_db /usr/local/mysql/current/bin/safe_mysqld & /usr/local/mysql/current/bin/mysqladmin -u root password 'geheim'
Die Berechtigungen stehen in der mysql DB in der Tabelle user, schau da einfach mal rein. Ich leg die Berechtigungen normalerweise direkt über die Tabelle an. -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ Manfred | http://packman.links2linux.de/
Hallo, vielen Dank an dieser Stelle noch mal an alle dir mir geholfen haben. :-) Also ich habe mich jetzt mit einem DB experten von der UNI mal kurz gefragt und der sagte, dass dies ein Bug im jdbc Treiber sei. Es wäre in meinen Augen auch unlogisch gewesen, wenn das bei php geht zu connecten und bei java nicht und es dann an der DB konfiguration liegen würde. Dann werde ich wohl auf den nächsten update vom jdbc Treiber für mysql warten müssen. Also noch mal besten Dank und schöne Grüße OLI Am Samstag, 7. August 2004 11:27 schrieb Manfred Tremmel:
Am Samstag, 7. August 2004 08:31 schrieb Tim Oliver Wagner:
also ich habe an Anfach einmal aufgerufen: scripts/mysql_install_db /usr/local/mysql/current/bin/safe_mysqld & /usr/local/mysql/current/bin/mysqladmin -u root password 'geheim'
Die Berechtigungen stehen in der mysql DB in der Tabelle user, schau da einfach mal rein. Ich leg die Berechtigungen normalerweise direkt über die Tabelle an.
-- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ Manfred | http://packman.links2linux.de/
Hallo leute,
--- Tim Oliver Wagner
Am Freitag, 6. August 2004 20:13 schrieb Manfred Tremmel:
Am Donnerstag, 5. August 2004 22:48 schrieb Tim Oliver Wagner:
ähm, ich glaube wir haben gerade aneinander vorbei geredet ... ich wollte einfach auf meinen MYSQL Server von der UNI aus zugreifen ... aber da das MYSQL ja nur auf 127.0.0.1 hört, funktioniert es ja nicht ... :-(
Klar, Du musst die IP oder den Namen des Rechners verwenden, auf den Du zugreifst. Die 127.0.0.1 bzw. localhost sind ja nur für den Rechner an dem man sitzt.
Ähm, nee ... also ich sitze an dem Rechner mit der 192.168.0.3 und greife im Programm auf den Rechner 192.168.0.1 zu und es kommt zu folgender Fehlermeldung:
tow@linux:~> java P06_selectSomething java.sql.SQLException: Data source rejected establishment of connection, message from server: "Host '192.168.0.3' is not allowed to connect to this MySQL server" at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:645) at
com.mysql.jdbc.Connection.createNewIO(Connection.java:1771)
at
com.mysql.jdbc.Connection.<init>(Connection.java:440)
at
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:400)
at
java.sql.DriverManager.getConnection(DriverManager.java:512)
at
java.sql.DriverManager.getConnection(DriverManager.java:171)
at P06_selectSomething.main(P06_selectSomething.java:7) tow@linux:~>
Also wenn ich es auf dem Rechner selbst laufen lasse und die 192.168.0.1 durch die 127.0.0.1 ersetze, dann funktioniert es ...
Also einfach die IP angeben geht nicht ... habe es auch mit der Internet-IP probiert kommt die gleiche Meldung ... lediglich die IP ist natürlich anders in der Fehlermeldung und es dauert ein wenig länger ....
Weisst Du jetzt was mein Problem ist?
OLI: Du must ins MySQL user tabelle die user mit den richtigen host laden, also must du ein user: oli_1@192.168.0.1 haben ob MySQL einen error gibt. Alle user ins MySQL musen ein IP haben oder "%" wenn du allen IP varianten alle "computer" ins internet ein connection haben koennen. Ich hoffe das hilft. Grus. george
Grüße
OLI
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-programming-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-programming-help@suse.com
Vous manquez despace pour stocker vos mails ? Yahoo! Mail vous offre GRATUITEMENT 100 Mo ! Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/ Le nouveau Yahoo! Messenger est arrivé ! Découvrez toutes les nouveautés pour dialoguer instantanément avec vos amis. A télécharger gratuitement sur http://fr.messenger.yahoo.com
Hallo leute,
--- Manfred Tremmel
Am Donnerstag, 5. August 2004 00:19 schrieb Tim Oliver Wagner:
Der Code:
******************************************************
import java.io.*; import java.sql.*;
class P01_ConTest { public static void main (String args[]) { boolean verbindungAufgebaut = false; try {
Class.forName("com.mysql.jdbc.Driver");
Ich verwende da immer "org.gjt.mm.mysql.Driver", keine Ahnung, ob das inzwischen veraltet ist, aber es funktioniert.
Der com.mysql driver ist einen verschide driver von org.gjt.mm.mysql du must die handbuch lesen und die richtigen Class.forName benuetzen.
System.out.println("1"); String url =
"jdbc:mysql://localhost:3306/oodm";
Wo passt du den user und die password zu MySQL? Grus. George
Welche SuSE Version verwendest Du? Ich hatte damit unter SuSE 9.1 erstmals irrsinnige Probleme, mit localhost funktionierte es nicht mehr (ich vermute ein IPv6 Problem). Wenn ich hingegen 127.0.0.1 verwende, sind die Probleme weg. Ist vielleicht nen Versuch wert.
Ansonsten finde ich keine grundsätzlichen Unterschiede zu meinen eigenen Programmen. Übrigens, ich verwende SuSE 9.1 mit MySQL 4.0.18 (die SuSE mitliefert, mit allen Updates) und MySQL_Connector/J 3.0.14 (RPM wie immer bei Packman http://packman.links2linux.de/?action=290, ansonsten bei http://www.mysql.com/downloads/api-jdbc.html)
-- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ Manfred | http://packman.links2linux.de/
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-programming-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-programming-help@suse.com
Vous manquez despace pour stocker vos mails ? Yahoo! Mail vous offre GRATUITEMENT 100 Mo ! Créez votre Yahoo! Mail sur http://fr.benefits.yahoo.com/ Le nouveau Yahoo! Messenger est arrivé ! Découvrez toutes les nouveautés pour dialoguer instantanément avec vos amis. A télécharger gratuitement sur http://fr.messenger.yahoo.com
participants (5)
-
David Haller
-
George Stoianov
-
Manfred Tremmel
-
Steffen Moser
-
Tim Oliver Wagner