Seite 1 von 1

Fehler beim Speichern des Mitglieds

Verfasst: Freitag 19. August 2016, 18:10
von ako
Hallo,

wir hatten jetzt einen komischen Fehler:
  1. Ich gebe ein neues Mitglied mit Phantasiedaten ein, speichere es -> Kein Problem.
  2. Ich gebe ein neues Mitglied mit seinen Daten ein, die Daten sehen ganz normal aus -> Fehler beim Speichern des Mitglieds
  3. Ich gebe ein neues Mitglied mit Phantasiedaten ein, speichere es -> Kein Problem, dann überschreibe ich die Phantasiedaten mit den echten Daten und speichere wieder -> kein Problem
Auszug aus der Jameica.log

Code: Alles auswählen

[Fri Aug 19 17:29:42 CEST 2016][INFO][de.willuhn.jameica.services.SysinfoService.init] starting Jameica Version 2.6.4
[Fri Aug 19 17:29:42 CEST 2016][INFO][de.willuhn.jameica.services.SysinfoService.init]   Built-Date : 20160502
[Fri Aug 19 17:29:42 CEST 2016][INFO][de.willuhn.jameica.services.SysinfoService.init]   Buildnumber: 441
[Fri Aug 19 17:29:42 CEST 2016][INFO][de.willuhn.jameica.services.SysinfoService.init] java.version     : 1.8.0_77
[Fri Aug 19 17:29:54 CEST 2016][INFO][de.willuhn.jameica.plugin.Manifest.<init>] hibiscus 2.6.17
[Fri Aug 19 17:29:54 CEST 2016][INFO][de.willuhn.jameica.plugin.Manifest.<init>]   Buildnumber: 361
[Fri Aug 19 17:29:54 CEST 2016][INFO][de.willuhn.jameica.plugin.Manifest.<init>]   Built-Date : 20160603
[Fri Aug 19 17:29:54 CEST 2016][INFO][de.willuhn.jameica.plugin.Manifest.<init>] jverein 2.8.13
[Fri Aug 19 17:29:54 CEST 2016][INFO][de.willuhn.jameica.plugin.Manifest.<init>]   Buildnumber: 513
[Fri Aug 19 17:29:54 CEST 2016][INFO][de.willuhn.jameica.plugin.Manifest.<init>]   Built-Date : 20160228
[Fri Aug 19 17:29:58 CEST 2016][INFO][de.willuhn.sql.version.Updater.execute] current version: 59
[Fri Aug 19 17:29:58 CEST 2016][INFO][de.jost_net.JVerein.server.JVereinDBServiceImpl.<init>] loading database driver: de.jost_net.JVerein.server.DBSupportMySqlImpl
Und so sieht ein Fehlschlag aus. Aber wie gesagt, irgendwie muss es an den Daten liegen, denn wenn ich einfach nur auf der Tastatur rumhaue (aber die gleichen Felder ausfülle) wird er abgespeichert und komischerweise kann ich es am Ende ja sogar auf die richtigen Daten ändern.
Für mich als Laie sieht es so aus, als ob bei unable to prepare insert sql statement irgendwelche Daten im INSERT-Parser als bösartig erkannt werden (und dass der INSERT- und UPDATE-Parser unterschiedlich arbeiten):

Code: Alles auswählen

[Fri Aug 19 17:41:48 CEST 2016][ERROR][de.jost_net.JVerein.gui.control.MitgliedControl.handleStore] Fehler bei Speichern des Mitgliedes
java.rmi.RemoteException: unable to prepare insert sql statement; nested exception is: 
	com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
	at de.willuhn.datasource.db.AbstractDBObject.getInsertSQL(AbstractDBObject.java:962)
	at de.willuhn.datasource.db.AbstractDBObject.insert(AbstractDBObject.java:648)
	at de.willuhn.datasource.db.AbstractDBObject.store(AbstractDBObject.java:308)
	at de.jost_net.JVerein.gui.control.MitgliedControl.handleStore(MitgliedControl.java:3201)
	at de.jost_net.JVerein.gui.view.AbstractAdresseDetailView$2.handleAction(AbstractAdresseDetailView.java:225)
	at de.willuhn.jameica.gui.parts.Button$1$1.run(Button.java:177)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(Unknown Source)
	at de.willuhn.jameica.gui.GUI$6.run(GUI.java:896)
	at org.eclipse.swt.widgets.Synchronizer.syncExec(Unknown Source)
	at org.eclipse.swt.widgets.Display.syncExec(Unknown Source)
	at de.willuhn.jameica.gui.GUI.startSync(GUI.java:892)
	at de.willuhn.jameica.gui.parts.Button$1.widgetSelected(Button.java:171)
	at org.eclipse.swt.widgets.TypedListener.handleEvent(Unknown Source)
	at org.eclipse.swt.widgets.EventTable.sendEvent(Unknown Source)
	at org.eclipse.swt.widgets.Display.sendEvent(Unknown Source)
	at org.eclipse.swt.widgets.Widget.sendEvent(Unknown Source)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Unknown Source)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Unknown Source)
	at de.willuhn.jameica.gui.GUI.loop(GUI.java:913)
	at de.willuhn.jameica.gui.GUI.init(GUI.java:324)
	at de.willuhn.jameica.system.Application.init(Application.java:148)
	at de.willuhn.jameica.system.Application.newInstance(Application.java:90)
	at de.willuhn.jameica.Main.main(Main.java:78)
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
	at com.mysql.jdbc.Util.getInstance(Util.java:360)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:935)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:924)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:870)
	at com.mysql.jdbc.ConnectionImpl.throwConnectionClosedException(ConnectionImpl.java:1232)
	at com.mysql.jdbc.ConnectionImpl.checkClosed(ConnectionImpl.java:1225)
	at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4104)
	at com.mysql.jdbc.ConnectionImpl.prepareStatement(ConnectionImpl.java:4073)
	at de.willuhn.datasource.db.AbstractDBObject.getInsertSQL(AbstractDBObject.java:939)
	... 22 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet successfully received from the server was 124.575 milliseconds ago.  The last packet sent successfully to the server was 8 milliseconds ago.
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:377)
	at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1036)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3427)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3327)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2435)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2582)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2526)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2484)
	at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1446)
	at de.jost_net.JVerein.server.DBSupportMySqlImpl.checkConnection(DBSupportMySqlImpl.java:154)
	at de.jost_net.JVerein.server.JVereinDBServiceImpl.checkConnection(JVereinDBServiceImpl.java:216)
	at de.willuhn.datasource.db.DBServiceImpl.getConnection(DBServiceImpl.java:115)
	at de.willuhn.datasource.db.AbstractDBObject.setService(AbstractDBObject.java:90)
	at de.willuhn.datasource.db.DBServiceImpl.create(DBServiceImpl.java:378)
	at de.willuhn.datasource.db.DBServiceImpl.createList(DBServiceImpl.java:422)
	at de.jost_net.JVerein.gui.control.MitgliedControl.handleStore(MitgliedControl.java:3016)
	... 19 more
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
	at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2914)
	at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3337)
	... 33 more

Re: Fehler beim Speichern des Mitglieds

Verfasst: Montag 22. August 2016, 18:08
von heiner
Hallo ako,

eigentlich kann das nicht sein, was du geschrieben hast. Schicke mir mal die Daten des Mitgliedes per PN. Dann versuche ich das mal hier in meiner Entwicklungsumgebung?

Hat der Fall an irgendeiner Stelle besonders lange Werte, z. B. Name oder Ort?

Heiner