MySQL - Row size to...
 
Benachrichtigungen
Alles entfernen

MySQL - Row size too large

6 Beiträge
3 Benutzer
0 Reactions
1,042 Aufrufe
(@datenbrei)
New Member
Beigetreten: vor 8 Jahren
Beiträge: 4
Topic starter   [#688]

Hallo!

Ich habe versucht auf Ubuntu 18.04 mit MariaDB die Daten von Fakturama zu speichern. Ich bekomme dabei folgenden Fehler:

Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:404)
	at com.mysql.jdbc.Util.getInstance(Util.java:387)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:939)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3878)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2547)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2505)
	at com.mysql.jdbc.StatementImpl.executeInternal(StatementImpl.java:840)
	at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:740)
	at liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:299)
	... 36 more

Meine Datenbank wurde mit dem Zeichensatz utf84mb angelegt, um vollständig UNICODE-fähig zu sein (Emoticons...)

Da ein Unicode-Zeichen im Zweifel die vierfache Länge eines normalen haben kann, benötigt die Datenbank ggf. auch das Vierfache an Speicher. Sie kann also nicht "ja" sagen beim Anlegen einer Tabelle, wenn die maximale Feldgröße in Bytes die maximal zulässige Länge in Bytes überschreiten würde.

Oder auf Deutsch: wenn die Speicherung sichergestellt sein soll, dann belegt evtl. jedes Zeichen vier Byte, die Länge eines Datenfeldes kann also nur ein Viertel so groß sein, wie die maximale Länge in Bytes.

Vielleicht helfen meine Gedanken?!? Vielleicht ist es auch was anderes? Ich benutze Version 2.0.1

Beste Grüße, Martin



   
Zitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

Hallo Martin,
den Fehler hatten wir hier auch schon mal. Das liegt daran, daß MariaDB (warum auch immer) eine andere Row-Size als MySQL hat (obwohl die ja eigentlich miteinander verwandt sein sollen). Man kann die Größe aber einstellen (über die my.ini, glaube ich). Ich muß mich nochmal belesen, wie wir das gelöst hatten.


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
Johannes
(@johannes)
Trusted Member
Beigetreten: vor 12 Jahren
Beiträge: 36
 

Hallo,

hatte hier mit Fakturama 2.0.5 und MariaDB 10.2.31 unter OpenSuse das gleiche Problem bei der Ersteinrichtung.

Ich habe die Datenbank gelöscht und neu erstellt mit

CREATE DATABASE fakturama CHARACTER SET utf8;

Damit funktioniert es jetzt.


Bio-Knoblauch Spezialitäten Versand & mehr
15+ verschiedene Sorten
klimaschonend angebaut mit Zugpferden

https://Shop.Tannenhof-Imshausen.de


   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

Moin, das habe ich jetzt mit Version 2.1.0 korrigiert. Man kann (und sollte) jetzt utf8mb4 verwenden.


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
Johannes
(@johannes)
Trusted Member
Beigetreten: vor 12 Jahren
Beiträge: 36
 

Hallo Ralf, danke für die Info. Wann kommt denn Version 2.1? Warte ich noch solange oder ist ein Umstellen der Datenbank später möglich?


Bio-Knoblauch Spezialitäten Versand & mehr
15+ verschiedene Sorten
klimaschonend angebaut mit Zugpferden

https://Shop.Tannenhof-Imshausen.de


   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

Ich hab die neue Version soeben (wieder) veröffentlicht. Es gab da noch ein paar (scheinbare) Fehler, die aber ausgeräumt werden konnten. Du kannst also die neueste Version herunterladen und verwenden.


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
Teilen: