PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java, JDBC und MySQL - Verbindungserror



sim4000
25.05.2008, 16:20
Hallo.
Ich versuche gerade einem Java Programm mit dem JDBC Connector MySQL beizubringen. Das Problem ist nur, das dass nich ganz klappen will.
Hier ist der stackTrace, der beim Verbindungsaufbau ausgegeben wird:

init:
deps-jar:
Compiling 1 source file to /home/sim4000/NetBeansProjects/QBv2/build/classes
compile:
run:
Locking assertion failure. Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0xb4bc0767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xb4bc08b1]
#2 /usr/lib/libX11.so.6(_XReply+0x244) [0x905909e4]
#3 /opt/java/jre/lib/i386/xawt/libmawt.so [0x906a08ce]
#4 /opt/java/jre/lib/i386/xawt/libmawt.so [0x9067d067]
#5 /opt/java/jre/lib/i386/xawt/libmawt.so [0x9067d318]
#6 /opt/java/jre/lib/i386/xawt/libmawt.so(Java_sun_awt_X11GraphicsEnvironment_ini tDisplay+0x2f) [0x9067d61f]
#7 [0xb4c933aa]
#8 [0xb4c8bf0d]
#9 [0xb4c8bf0d]
#10 [0xb4c89249]
#11 /opt/java/jre/lib/i386/server/libjvm.so [0x637338d]
#12 /opt/java/jre/lib/i386/server/libjvm.so [0x64fd168]
#13 /opt/java/jre/lib/i386/server/libjvm.so [0x6373220]
#14 /opt/java/jre/lib/i386/server/libjvm.so(JVM_DoPrivileged+0x363) [0x63c90d3]
#15 /opt/java/jre/lib/i386/libjava.so(Java_java_security_AccessController_doP rivileged__Ljava_security_PrivilegedAction_2+0x3d) [0xb7c9396d]
#16 [0xb4c933aa]
#17 [0xb4c8bda7]
#18 [0xb4c89249]
#19 /opt/java/jre/lib/i386/server/libjvm.so [0x637338d]
Locking assertion failure. Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0xb4bc0767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_lock+0x2e) [0xb4bc081e]
#2 /usr/lib/libX11.so.6 [0x9058fba9]
#3 /usr/lib/libX11.so.6(XGetVisualInfo+0x26) [0x90585fe6]
#4 /opt/java/jre/lib/i386/xawt/libmawt.so [0x9067c319]
#5 /opt/java/jre/lib/i386/xawt/libmawt.so [0x9067c565]
#6 /opt/java/jre/lib/i386/xawt/libmawt.so [0x9067d3c9]
#7 /opt/java/jre/lib/i386/xawt/libmawt.so(Java_sun_awt_X11GraphicsEnvironment_ini tDisplay+0x2f) [0x9067d61f]
#8 [0xb4c933aa]
#9 [0xb4c8bf0d]
#10 [0xb4c8bf0d]
#11 [0xb4c89249]
#12 /opt/java/jre/lib/i386/server/libjvm.so [0x637338d]
#13 /opt/java/jre/lib/i386/server/libjvm.so [0x64fd168]
#14 /opt/java/jre/lib/i386/server/libjvm.so [0x6373220]
#15 /opt/java/jre/lib/i386/server/libjvm.so(JVM_DoPrivileged+0x363) [0x63c90d3]
#16 /opt/java/jre/lib/i386/libjava.so(Java_java_security_AccessController_doP rivileged__Ljava_security_PrivilegedAction_2+0x3d) [0xb7c9396d]
#17 [0xb4c933aa]
#18 [0xb4c8bda7]
#19 [0xb4c89249]
com.mysql.jdbc.exceptions.jdbc4.CommunicationsExce ption: Communications link failure

Last packet sent to the server was 1 ms ago.
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:40 6)
at com.mysql.jdbc.SQLError.createCommunicationsExcept ion(SQLError.java:1074)
at com.mysql.jdbc.ConnectionImpl.createNewIO(Connecti onImpl.java:2103)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInsta nce(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newI nstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Construc tor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:40 6)
at com.mysql.jdbc.ConnectionImpl.getInstance(Connecti onImpl.java:302)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonReg isteringDriver.java:282)
at java.sql.DriverManager.getConnection(DriverManager .java:582)
at java.sql.DriverManager.getConnection(DriverManager .java:185)
at qbv2.MySQL_Class.connect(MySQL_Class.java:24)
at qbv2.GUI.serverConnectActionPerformed(GUI.java:763 )
at qbv2.GUI.access$300(GUI.java:17)
at qbv2.GUI$2.actionPerformed(GUI.java:268)
at javax.swing.AbstractButton.fireActionPerformed(Abs tractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed (AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed (DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultB uttonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseRe leased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.jav a:6041)
at javax.swing.JComponent.processMouseEvent(JComponen t.java:3265)
at java.awt.Component.processEvent(Component.java:580 6)
at java.awt.Container.processEvent(Container.java:205 8)
at java.awt.Component.dispatchEventImpl(Component.jav a:4413)
at java.awt.Container.dispatchEventImpl(Container.jav a:2116)
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.LightweightDispatcher.retargetMouseEvent( Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(C ontainer.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Conta iner.java:3916)
at java.awt.Container.dispatchEventImpl(Container.jav a:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2440 )
at java.awt.Component.dispatchEvent(Component.java:42 43)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 599)
at java.awt.EventDispatchThread.pumpOneEventForFilter s(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(E ventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:121)
Caused by: java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl .java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSoc ketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.j ava:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.j ava:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at java.net.Socket.<init>(Socket.java:366)
at java.net.Socket.<init>(Socket.java:209)
at com.mysql.jdbc.StandardSocketFactory.connect(Stand ardSocketFactory.java:253)
at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:280)
at com.mysql.jdbc.ConnectionImpl.createNewIO(Connecti onImpl.java:2026)
... 40 more
BUILD SUCCESSFUL (total time: 4 seconds)
Dazu muss ich sagen, das ich gerade frisch auf Arch Linux gewechselt bin. Als ich noch bei Debian war, lief das Programm noch sauber. Am Programm kann es also nicht liegen.

System: Arch Linux
Kernel: 2.6.24
Java: 1.6.0_05
JDBC Connector: mysql-connector-java-5.1.6-bin.jar
Java IDE: Netbeans

Hat jemand von euch eine Idee woran das liegen kann?
Lg, sim.

//edit
Ich hab die selbe Frage auch noch einmal im Java-Forum gestellt: http://www.java-forum.org/de/viewtopic.php?p=416783

//edit2
Ich habe das Programm noch einmal in einer Windows VM getestet, und da funktioniert es ohne Fehler.

sim4000
27.05.2008, 15:52
*push*

Hat keiner ne Idee?

supersucker
27.05.2008, 16:03
Ist das hier


Java: 1.6.0_05
JDBC Connector: mysql-connector-java-5.1.6-bin.jar
Java IDE: Netbeans

von Debian auf Arch gleich geblieben?

sim4000
27.05.2008, 16:10
Ich denke, das ich auf Debian, noch Java 5 gehabt habe...
Bin ich mir aber nicht sicher.

Ich habe schon auf mysql.com nach einem neueres JDBC gesucht. Weil ich wegen der Version auch nicht sicher war. Aber da gibt es keinen neueren.
Und ich habe unter Windows auch Java 6 laufen. Und da läuft es. Mit dem selben Programm, und dem selben JDBC.

C:\Dokumente und Einstellungen\wxp\Desktop>java -version
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Client VM (build 10.0-b19, mixed mode, sharing)
<sim4000> (~) java -version
java version "1.6.0_05"
Java(TM) SE Runtime Environment (build 1.6.0_05-b13)
Java HotSpot(TM) Server VM (build 10.0-b19, mixed mode

//edit
JDBC Version und IDE sind gleich geblieben

supersucker
27.05.2008, 16:22
Na,

da haben wir doch des Rätsel's Lösung:

-> http://bugs.archlinux.org/task/8713

sim4000
27.05.2008, 16:26
Im Java Forum, haben wir auch gerade was herraus gefunden. Und zwar kann ich nicht von außen auf dem MySQL zugreifen.

Ich habe es mal wie beschrieben von einer Windows XP VM versucht, auf meinen MySQLd zuzugreifen.
Es geht allerdings nicht.

C:\Dokumente und Einstellungen\wxp\Desktop>ping kompaktes

Ping kompaktes [192.168.141.1] mit 32 Bytes Daten:

Antwort von 192.168.141.1: Bytes=32 Zeit=9ms TTL=64
Antwort von 192.168.141.1: Bytes=32 Zeit<1ms TTL=64

Ping-Statistik für 192.168.141.1:
Pakete: Gesendet = 2, Empfangen = 2, Verloren = 0 (0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 0ms, Maximum = 9ms, Mittelwert = 4ms
STRG-C
^C
C:\Dokumente und Einstellungen\wxp\Desktop>mysql -h kompaktes -u gast -p
Enter password: ****
ERROR 2003 (HY000): Can't connect to MySQL server on 'kompaktes' (10061)

C:\Dokumente und Einstellungen\wxp\Desktop>mysql -h 192.168.141.1 -u gast -p
Enter password: ****
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.141.1' (10061)

C:\Dokumente und Einstellungen\wxp\Desktop>Von localhost aus, geht es allerdings.

Die Berechtigungen sind sauber.

<root> (/home/sim4000) mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 32
Server version: 5.0.51a Source distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select Host, User from user;
+-----------+------+
| Host | User |
+-----------+------+
| % | gast |
| localhost | root |
+-----------+------+
2 rows in set (0.00 sec)

mysql> select Host, User, Db from db;
+------+------+------------+
| Host | User | Db |
+------+------+------------+
| % | gast | gast |
| % | root | mynordwind |
+------+------+------------+
2 rows in set (0.04 sec)
Firewall ist auch nicht vorgeschaltet.

supersucker
27.05.2008, 16:49
Dann bitte einmal


netstat -tulpen | grep -i mysql

Mit großer Sicherheit steht da nicht ein "0.0.0.0", was aber da stehen sollte wenn du von überall auf das Ding zugreifen willst.

sim4000
27.05.2008, 16:54
Da kommt gar nichts raus.
<root> (/home/sim4000) netstat -tulpen | grep -i mysql

<root> (/home/sim4000)

sim4000
13.06.2008, 00:50
So.

Ich habe mich nach langer Pause mal wieder an das Problem heran gewagt. Und hab es auch Prompt gelöst.

Wollt ihr wissen, woran es lag? :D

In der Datei /etc/hosts.deny stand ein "All" drin, was alle Verbindungen verboten hat. Man hab ich mich geärgert! :D

Naja. Thx für eure Tipps.
Lg, sim.