Seite 1 von 4

MySQL: Update auf 2.8.0 schlägt fehlt

Verfasst: Samstag 23. August 2014, 14:36
von padawan
Hallo zusammen,

gerade habe ich in meiner Testumgebung das Update von 2.6.1 auf 2.8.0 vorgenommen. Bei ersten Tests ist mir dann aufgefallen, dass die Abrechnung nicht mehr funktioniert, weil die Spalte "geschlecht" in der Tabelle "lastschrift" fehlt. Daraufhin habe ich ein Backup (DB und Programm) eingespielt und das Update im Loglevel DEBUG wiederholt.
Hier der (meines Erachtens) relevante Teil, falls etwas fehlt liegt aber das gesamte Logfile vor:

Code: Alles auswählen

[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.jameica.plugin.PluginLoader.initPlugin] detected update from version 2.6.1 to 2.8.0, starting update
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.jameica.gui.SplashScreen$3.run]  updating plugin jverein ...
[Sat Aug 23 14:17:10 CEST 2014][DEBUG][de.willuhn.util.Settings.<init>] loading system presets from C:\XXX\JVerein_TEST\App\cfg\de.jost_net.JVerein.rmi.JVereinDBService.properties
[Sat Aug 23 14:17:10 CEST 2014][DEBUG][de.willuhn.datasource.db.DBServiceImpl.<init>] using jdbc driver  : null
[Sat Aug 23 14:17:10 CEST 2014][DEBUG][de.willuhn.datasource.db.DBServiceImpl.<init>] using jdbc url     : null
[Sat Aug 23 14:17:10 CEST 2014][DEBUG][de.willuhn.datasource.db.DBServiceImpl.<init>] using jdbc username: null
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.jost_net.JVerein.server.JVereinDBServiceImpl.<init>] loading database driver: de.jost_net.JVerein.server.DBSupportMySqlImpl
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.start] starting db service
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.stop] stopping db service
[Sat Aug 23 14:17:10 CEST 2014][DEBUG][de.willuhn.datasource.db.DBServiceImpl.stop] db service: object cache matches: 50 %
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.stop] db service stopped [0 connection(s) closed]
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.jameica.gui.SplashScreen$3.run]  initializing plugin jverein ...
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.jost_net.JVerein.JVereinPlugin.init] starting init process for jverein
[Sat Aug 23 14:17:10 CEST 2014][DEBUG][de.willuhn.util.Settings.<init>] loading system presets from C:\XXX\JVerein_TEST\App\cfg\de.jost_net.JVerein.rmi.JVereinDBService.properties
[Sat Aug 23 14:17:10 CEST 2014][DEBUG][de.willuhn.datasource.db.DBServiceImpl.<init>] using jdbc driver  : null
[Sat Aug 23 14:17:10 CEST 2014][DEBUG][de.willuhn.datasource.db.DBServiceImpl.<init>] using jdbc url     : null
[Sat Aug 23 14:17:10 CEST 2014][DEBUG][de.willuhn.datasource.db.DBServiceImpl.<init>] using jdbc username: null
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.jost_net.JVerein.server.JVereinDBServiceImpl.<init>] loading database driver: de.jost_net.JVerein.server.DBSupportMySqlImpl
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.start] starting db service
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.jameica.gui.SplashScreen$3.run]  Installiere JVerein ...
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.createConnection] creating new connection
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.getConnection] created new connection for <local>
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.jost_net.JVerein.server.JVereinUpdateProvider.execute] TODO: Lastschrift anrede Feldlänge auf 40 verlängert
[Sat Aug 23 14:17:10 CEST 2014][DEBUG][de.jost_net.JVerein.server.JVereinUpdateProvider.execute] ALTER TABLE lastschrift MODIFY COLUMN anrede VARCHAR(40);
[Sat Aug 23 14:17:10 CEST 2014][DEBUG][de.willuhn.sql.ScriptExecutor.execute] reading sql script
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.sql.ScriptExecutor.execute] starting transaction
[Sat Aug 23 14:17:10 CEST 2014][DEBUG][de.willuhn.sql.ScriptExecutor.execute] executing: ALTER TABLE lastschrift MODIFY COLUMN anrede VARCHAR(40)
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.sql.ScriptExecutor.execute] commit transaction
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.willuhn.jameica.gui.SplashScreen$3.run]  JVerein-DB-Update: 359 ...
[Sat Aug 23 14:17:10 CEST 2014][INFO][de.jost_net.JVerein.server.JVereinUpdateProvider.setNewVersion] JVerein-DB-Update: 359
[Sat Aug 23 14:17:11 CEST 2014][INFO][de.jost_net.JVerein.server.JVereinUpdateProvider.execute] TODO: Einstellungen für Spendenbescheinigungen Veranlagung von, Veranlagung bis.
[Sat Aug 23 14:17:11 CEST 2014][DEBUG][de.jost_net.JVerein.server.JVereinUpdateProvider.execute] ALTER TABLE einstellung ADD veranlagungvon DATE;
ALTER TABLE einstellung ADD veranlagungbis DATE;
[Sat Aug 23 14:17:11 CEST 2014][DEBUG][de.willuhn.sql.ScriptExecutor.execute] reading sql script
[Sat Aug 23 14:17:11 CEST 2014][INFO][de.willuhn.sql.ScriptExecutor.execute] starting transaction
[Sat Aug 23 14:17:11 CEST 2014][DEBUG][de.willuhn.sql.ScriptExecutor.execute] executing: ALTER TABLE einstellung ADD veranlagungvon DATE
[Sat Aug 23 14:17:11 CEST 2014][DEBUG][de.willuhn.sql.ScriptExecutor.execute] executing: ALTER TABLE einstellung ADD veranlagungbis DATE
[Sat Aug 23 14:17:11 CEST 2014][INFO][de.willuhn.sql.ScriptExecutor.execute] commit transaction
[Sat Aug 23 14:17:11 CEST 2014][INFO][de.willuhn.jameica.gui.SplashScreen$3.run]  JVerein-DB-Update: 360 ...
[Sat Aug 23 14:17:11 CEST 2014][INFO][de.jost_net.JVerein.server.JVereinUpdateProvider.setNewVersion] JVerein-DB-Update: 360
[Sat Aug 23 14:17:11 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.stop] stopping db service
[Sat Aug 23 14:17:11 CEST 2014][DEBUG][de.willuhn.datasource.db.DBServiceImpl.stop] db service: object cache matches: 50 %
[Sat Aug 23 14:17:11 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.closeConnection] commit connection
[Sat Aug 23 14:17:11 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.closeConnection] closing connection
[Sat Aug 23 14:17:11 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.closeConnection] connection closed
[Sat Aug 23 14:17:11 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.stop] db service stopped [1 connection(s) closed]
[Sat Aug 23 14:17:28 CEST 2014][DEBUG][de.willuhn.util.Settings.reload] C:\XXX\JVerein_TEST\Data\cfg\de.willuhn.jameica.services.RepositoryService.properties has changed, reloading
[Sat Aug 23 14:17:28 CEST 2014][DEBUG][de.willuhn.util.Settings.reload] C:\XXX\JVerein_TEST\Data\cfg\de.willuhn.jameica.services.RepositoryService.properties has changed, reloading
[Sat Aug 23 14:17:28 CEST 2014][DEBUG][de.willuhn.util.Settings.reload] C:\XXX\JVerein_TEST\Data\cfg\de.willuhn.jameica.services.RepositoryService.properties has changed, reloading
[Sat Aug 23 14:17:28 CEST 2014][DEBUG][de.willuhn.datasource.db.DBServiceImpl.<init>] using jdbc driver  : null
[Sat Aug 23 14:17:28 CEST 2014][DEBUG][de.willuhn.datasource.db.DBServiceImpl.<init>] using jdbc url     : null
[Sat Aug 23 14:17:28 CEST 2014][DEBUG][de.willuhn.datasource.db.DBServiceImpl.<init>] using jdbc username: null
[Sat Aug 23 14:17:28 CEST 2014][INFO][de.jost_net.JVerein.server.JVereinDBServiceImpl.<init>] loading database driver: de.jost_net.JVerein.server.DBSupportMySqlImpl
[Sat Aug 23 14:17:28 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.start] starting db service
[Sat Aug 23 14:17:28 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.createConnection] creating new connection
[Sat Aug 23 14:17:28 CEST 2014][INFO][de.willuhn.datasource.db.DBServiceImpl.getConnection] created new connection for <local>
Die Datenbank sagt mir, dass sie den Stand 360 hat, die Spalte fehlt aber:

Code: Alles auswählen

mysql> select * from version;
+----+---------+
| id | version |
+----+---------+
|  1 |     360 |
+----+---------+
1 row in set (0.00 sec)

mysql> describe lastschrift;
+---------------------+--------------+------+-----+---------+----------------+
| Field               | Type         | Null | Key | Default | Extra          |
+---------------------+--------------+------+-----+---------+----------------+
| id                  | bigint(20)   | NO   | PRI | NULL    | auto_increment |
| abrechnungslauf     | bigint(20)   | YES  | MUL | NULL    |                |
| mitglied            | bigint(20)   | YES  | MUL | NULL    |                |
| kursteilnehmer      | bigint(20)   | YES  | MUL | NULL    |                |
| personenart         | char(1)      | YES  |     | NULL    |                |
| anrede              | varchar(40)  | YES  |     | NULL    |                |
| titel               | varchar(40)  | YES  |     | NULL    |                |
| name                | varchar(40)  | NO   |     | NULL    |                |
| vorname             | varchar(40)  | YES  |     | NULL    |                |
| strasse             | varchar(40)  | YES  |     | NULL    |                |
| adressierungszusatz | varchar(40)  | YES  |     | NULL    |                |
| plz                 | varchar(10)  | YES  |     | NULL    |                |
| ort                 | varchar(40)  | YES  |     | NULL    |                |
| staat               | varchar(50)  | YES  |     | NULL    |                |
| email               | varchar(50)  | YES  |     | NULL    |                |
| mandatid            | varchar(35)  | NO   |     | NULL    |                |
| mandatdatum         | date         | NO   |     | NULL    |                |
| mandatsequence      | varchar(4)   | YES  |     | NULL    |                |
| bic                 | varchar(11)  | NO   |     | NULL    |                |
| iban                | varchar(35)  | NO   |     | NULL    |                |
| verwendungszweck    | varchar(140) | NO   |     | NULL    |                |
| betrag              | double       | NO   |     | NULL    |                |
+---------------------+--------------+------+-----+---------+----------------+
22 rows in set (0.00 sec)
Hier noch der Fehler bei der Abrechnung:

Code: Alles auswählen

[Sat Aug 23 14:30:23 CEST 2014][INFO][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor$2.run] activating progress monitor
[Sat Aug 23 14:30:23 CEST 2014][DEBUG][de.willuhn.datasource.db.AbstractDBObject.load] executing query: select * from mitglied where id = 3
[Sat Aug 23 14:30:23 CEST 2014][DEBUG][de.willuhn.datasource.db.AbstractDBObject.getInsertSQL] executing sql statement: com.mysql.jdbc.PreparedStatement@6beb4966: insert into lastschrift (vorname,geschlecht,abrechnungslauf,personenart,kursteilnehmer,adressierungszusatz,staat,mitglied,verwendungszweck,betrag,strasse,mandatid,email,titel,name,ort,plz,mandatsequence,mandatdatum,bic,anrede,iban) values ('XXX','m',6,'n',null,'','',3,'test',12.34,'XXX','3-0','xxx@xxx.de','','XXX','XXX','99999','RCUR','2014-02-06','XXX','Herr','XXX')
[Sat Aug 23 14:30:23 CEST 2014][DEBUG][de.willuhn.datasource.db.AbstractDBObject.transactionRollback] [rollback] transaction count: 0
[Sat Aug 23 14:30:23 CEST 2014][DEBUG][de.willuhn.datasource.db.AbstractDBObject.transactionRollback] [rollback] transaction rollback
[Sat Aug 23 14:30:23 CEST 2014][ERROR][de.jost_net.JVerein.gui.control.AbrechnungSEPAControl$3.run] error while reading objects from C:\Users\XXX\Desktop\abbuchungFRST-20140823-143015.XML
java.rmi.RemoteException: insert failed; nested exception is: 
	com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'geschlecht' in 'field list'
	at de.willuhn.datasource.db.AbstractDBObject.insert(AbstractDBObject.java:695)
	at de.willuhn.datasource.db.AbstractDBObject.store(AbstractDBObject.java:308)
	at de.jost_net.JVerein.io.AbrechnungSEPA.<init>(AbrechnungSEPA.java:221)
	at de.jost_net.JVerein.gui.control.AbrechnungSEPAControl$3.run(AbrechnungSEPAControl.java:442)
	at de.willuhn.jameica.gui.GUI$6.run(GUI.java:964)
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'geschlecht' in 'field list'
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
	at com.mysql.jdbc.Connection.execSQL(Connection.java:3256)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1313)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1585)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1500)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1485)
	at de.willuhn.datasource.db.AbstractDBObject.insert(AbstractDBObject.java:649)
	... 4 more
Kann jemand helfen?

Danke & Gruß,
padawan

Re: MySQL: Update auf 2.8.0 schlägt fehlt

Verfasst: Sonntag 24. August 2014, 08:15
von heiner
Hallo,

ich kann das Verhalten nicht nachvollziehen. Bei mir funktioniert alles wunderbar. Allerdings habe ich bereits auch von einem anderen Benutzer einen Hinweis in diese Richtung bekommen.

Kannst du bitte den relevanten Ausschnitt aus der jameica.log posten?
Welche MySQL-Version ist im Einsatz?

Heiner

Re: MySQL: Update auf 2.8.0 schlägt fehlt

Verfasst: Sonntag 24. August 2014, 09:43
von dieseyer
Hallo . . .

Ich habe jetzt noch mal eine Kopie von meinem Server gezogen und nur von der "externemitgliedsnummer" den Typ von "INT" auf "VARCHAR(50)" gesetzt.

Anschließend habe ich von
  • Jameica 20140109 2.6.1 439
    Hibiscus 20140109 2.6.2 361 DB-V 49
    JVerein 20140107 2.6.2 455 DB-V 359
auf
  • Hibiscus 20140804 2.6.8 361 DB-V 54
    JVerein 20140816 2.8.0 492 DB-V 360
ge-update-tet - dabei sind keine Fehler gezeigt worden.

Ich bekomme DB-Fehler, wie im Anhang zu sehen (m.E. fehlen entsprechende Einträge in den Logs).

Vor dem Update habe ich keine Fehlermeldungen gesehen.

Was kann ich tun?

Re: MySQL: Update auf 2.8.0 schlägt fehlt

Verfasst: Sonntag 24. August 2014, 16:03
von padawan
Hallo Heiner,

kannst Du ungefähr sagen, welchen Teil des Logs Du neben dem Abschnitt, der in meinem ersten Posting steht, noch benötigst?
Gern kann ich auch ein bestimmtes Szenario "abspulen" und dann das Log zur Verfügung stellen.
MySQL Server Version: 5.5.38-0+wheezy1 (Debian)

Grüße,
padawan

Re: MySQL: Update auf 2.8.0 schlägt fehlt

Verfasst: Montag 6. Oktober 2014, 22:38
von jojo-g
hallo zusammen,
jetzt habe ich das selbe Problem. Ich kann keine Abrechnung mehr machen. Folgender Ausschnitt aus dem Logfile ist relevant:

Code: Alles auswählen

[Mon Oct 06 21:59:15 CEST 2014][INFO][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor.check] creating progress monitor for GUI
[Mon Oct 06 21:59:15 CEST 2014][INFO][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor$2.run] activating progress monitor
[Mon Oct 06 21:59:38 CEST 2014][INFO][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor.check] creating progress monitor for GUI
[Mon Oct 06 21:59:38 CEST 2014][INFO][de.willuhn.jameica.gui.internal.parts.BackgroundTaskMonitor$2.run] activating progress monitor
[Mon Oct 06 21:59:40 CEST 2014][ERROR][de.jost_net.JVerein.gui.control.AbrechnungSEPAControl$3.run] error while reading objects from C:\Users\jojo\AppData\Local\Temp\sepafrst2508289072909268697.tmp
java.rmi.RemoteException: insert failed; nested exception is: 
	com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'geschlecht' in 'field list'
	at de.willuhn.datasource.db.AbstractDBObject.insert(AbstractDBObject.java:695)
	at de.willuhn.datasource.db.AbstractDBObject.store(AbstractDBObject.java:308)
	at de.jost_net.JVerein.io.AbrechnungSEPA.<init>(AbrechnungSEPA.java:221)
	at de.jost_net.JVerein.gui.control.AbrechnungSEPAControl$3.run(AbrechnungSEPAControl.java:442)
	at de.willuhn.jameica.gui.GUI$6.run(GUI.java:964)
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'geschlecht' in 'field list'
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
	at com.mysql.jdbc.Connection.execSQL(Connection.java:3256)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1313)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1585)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1500)
	at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1485)
	at de.willuhn.datasource.db.AbstractDBObject.insert(AbstractDBObject.java:649)
	... 4 more


Muss ich da eine Spalte nachpflegen? Gibt es einen Bugfix?

DB-Version: 360
Software-Version: 2.8.0

Update wurde von 2.6.3 auf 2.8.0 durchgeführt. Wie mir schien, fehlerfrei, kann ich aber nicht mehr reproduzieren :-(

Vielen Dank

Re: MySQL: Update auf 2.8.0 schlägt fehlt

Verfasst: Montag 13. Oktober 2014, 11:27
von hawei
Hallo,

irgend etwas funktioniert offensichtlich leider beim Update-Mechanismus nicht richtig, wenn man mysql als Datenbank verwendet.

Bei mir tritt derselbe Fehler auf, wenn ich die Abrechnung starten möchte:
[Mon Oct 13 11:10:17 CEST 2014][ERROR][de.jost_net.JVerein.gui.control.AbrechnungSEPAControl$3.run] error while reading objects from
C:\Users\xxxxx\AppData\Local\Temp\sepafrst1613329431750249808.tmp
java.rmi.RemoteException: insert failed; nested exception is:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'geschlecht' in 'field list'
at de.willuhn.datasource.db.AbstractDBObject.insert(AbstractDBObject.java:695)
at de.willuhn.datasource.db.AbstractDBObject.store(AbstractDBObject.java:308)
at de.jost_net.JVerein.io.AbrechnungSEPA.<init>(AbrechnungSEPA.java:221)
at de.jost_net.JVerein.gui.control.AbrechnungSEPAControl$3.run(AbrechnungSEPAControl.java:442)
at de.willuhn.jameica.gui.GUI$6.run(GUI.java:969)
Caused by: com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown column 'geschlecht' in 'field list'
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
......

Ich habe schon 2 oder 3 andere fehlende Felder manuell ergänzt und mache das nun auch bei diesem so, aber ich kann
bestätigen, dass da unter bestimmten Umständen offenbar der Wurm beim Update drinnen ist.

Liebe Grüße
Harald

Re: MySQL: Update auf 2.8.0 schlägt fehlt

Verfasst: Montag 13. Oktober 2014, 11:58
von heiner
Vermutlich wird es zum Ende der Woche ein Update geben.
Heiner

Re: MySQL: Update auf 2.8.0 schlägt fehlt

Verfasst: Sonntag 19. Oktober 2014, 08:06
von heiner
Die Entwicklerversion ist da!

Re: MySQL: Update auf 2.8.0 schlägt fehlt

Verfasst: Sonntag 19. Oktober 2014, 10:10
von dieseyer
Nach langer Zeit wollte ich nur mal reinschauen . . .
. . . und finde eine 1h alte bzw. neue Testversion.

Also: Ran an die Arbeite!

Da ich produktiv noch mit der JVerein v2.6.2 arbeite, habe ich zunächst v2.6.3 eingespielt - keine Fehlermeldung.
Mit JVerein v2.8.2 startet zunächst die Aufforderung 'Einstellungen' und 'Beitragsgruppen' zu erfassen - das führt zu Fehlermeldungen (vergl. Logs).

Re: MySQL: Update auf 2.8.0 schlägt fehlt

Verfasst: Sonntag 19. Oktober 2014, 11:16
von heiner
Versuche bitte das gerade hochgeladene Build 495. Du kannst den Stand der Datenbank, der eben zum Fehler geführt, weiter verwenden.

Heiner