Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

LS 3.22.16 - Die Umfrage-Antworttabelle konnte nicht erstellt werden.

  • adelphisurveys
  • adelphisurveys's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
3 years 5 months ago #208462 by adelphisurveys
Hallo,

Ich habe von einer älteren LimeSurvey-Instanz (Version 3.15.6+190108) zwei Umfragen exportiert und in eine LimeSurvey-Instanz (Version 3.22.16+200519) exportiert. Nun kann ich aber die eine Umfrage in der neueren LimeSurvey-Instanz nicht aktivieren. Da bekomme ich folgende Fehlermeldung:
Code:
Die Umfrage-Antworttabelle konnte nicht erstellt werden. Üblicherweise wird dies durch zu viele (Teil-)Fragen in Ihrer Umfrage verursacht. Bitte versuchen Sie Fragen aus Ihrer Umfrage zu löschen.

Nun ist mir die Fehlermeldung nicht ganz unbekannt. Wenn ich das richtig in Erinnerung habe, liegt das an den vielen Bedingungen bzw. Matrixfragen. Aber wie kommt der Versionsunterschied. In der alten LimeSurvey-Instanz kann die Umfrage weiterhin aktivieren?

Macht es evtl. einen Unterschied, wenn ich auf die aktuellste Version von LS update?

Vielen Dank

Bavra
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #208464 by holch
Eventuell werden manche der Fragen in der neueren Version anders abgelegt. Das sollte zwar im Normalfall nicht innerhalb der gleichen Hauptversion passieren (LS 3.x), aber das ist für mich die einzige Erklärung im Moment.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #208467 by Joffm
Hallo, Bavra,
ja es sind zu viele Teil-/Fragen.

Wie Du hier manual.limesurvey.org/General_FAQ#...regarding_survey_size
lesen kannst, besteht bei MySQL (auch bei anderen Datenbank-Systemen) eine Beschränkung der Spaltenanzahl in den Tabellen.
Bei MySQL hängt es außerdem von der benutzten Datenbank-Engine ab.
Bei InnoDB sind es 1000 Spalten
Bei MyISAM 64kB, es hat sich gezeigt, dass es so um die 1570 Spalten sind.

Kann es sein, dass Du aus einer Installation mit MyISAM exportiert hast und nun versuchst in eine InnoDB-Installation zu importieren?
Diesen Enginetyp findest Du mithilfe eines tools wie phpMyAdmin o.ä. hier


Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • adelphisurveys
  • adelphisurveys's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
3 years 5 months ago #208478 by adelphisurveys
I have now looked at both databases, but I cannot see any difference. I guess the problem came with the switch from MySQL to MariaDB.

old Database:




my Database:

The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #208480 by Joffm
Du kannst ja einmal mit einem SQL-script eine Tabelle anlegen mit 1000, 1500,.. Feldern.
Damit kannst Du Dich an die Maximalzahl herantasten; irgendwann kommt die Fehlermeldung.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • adelphisurveys
  • adelphisurveys's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
3 years 5 months ago - 3 years 5 months ago #208546 by adelphisurveys
Und kann ich das Problem irgendwie lösen? Also außer die Umfrage neu zu strukturieren oder die Umfrage aufzusplitten?

Und warum kann ich die Umfragen dann in der alten Version starten und in der neuen Version nicht? Das ist mir irgendwie nicht ganz klar? Weil der MySQL Server auf der die Datenbanken liegen ist der Gleiche. Woran kann das liegen, da habe ich für mich noch keinen Ansatz einer Erklärung?

Und nur mal als Brainstorming, wenn das jetzt an der Gesamtanzahl der Tabellen in der MySQL-Datenbank liegt, dann zählen doch die Sicherungen (old_survey_fooo) auch mit rein. Davon gibt es in unserer Datenbank echt viele. Wie relevant sind die denn überhaupt. Macht das evtl. an diesem Punkt Sinn mal aufzuräumen? Kann das dann dazu führen, dass die Umfragen gestartet werden können, weil die Tabellengrenze nicht erreicht wird?

Danke und Grüße
Last edit: 3 years 5 months ago by adelphisurveys.
The topic has been locked.
  • holch
  • holch's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #208547 by holch
Die Gesamtzahl der Tabellen in MySQL ist irrelevant.

Dieses Limit ist dem Fakt geschuldet, dass die Ergebnisse einer Umfrage von Limesurvey in einer einzigen Tabelle gespeichert werden (jede Frage und Unterfrage braucht mindestens 1 Spalte in der Tabelle). Und MySQL hat da eben ein bestimmtest Limit was die Spalten in einer Tabelle angeht. Diese Limits hängen von verschiedenen Faktoren ab, soweit ich weiss (Art der Daten die in der Spalte ablegt werden) und kommt ungefähr auf diese Limits hin, die Joffm schon erwähnt hat.

Warum allerdings innerhalb der gleichen Hauptversion Unterschiede auftreten weiss ich nicht, wenn der Datenbank-Server der gleiche ist.

Da müsstest du halt mal schauen ob zwischen der Version 3.15.6+190108 und der Version 3.22.16+200519 irgendwas an der Datenbank-Struktur geändert wurde. Sollte dann ja in den Release Notes stehen.

I answer at the LimeSurvey forum in my spare time, I'm not a LimeSurvey GmbH employee.
No support via private message.

The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago - 3 years 5 months ago #208548 by Joffm
Wie sagt es MySQL

The maximum row size for a given table is determined by several factors:

The internal representation of a MySQL table has a maximum row size limit of 65,535 bytes, even if the storage engine is capable of supporting larger rows. BLOB and TEXT columns only contribute 9 to 12 bytes toward the row size limit because their contents are stored separately from the rest of the row.


und

This section describes limits for InnoDB tables, indexes, tablespaces, and other aspects of the InnoDB storage engine.
A table can contain a maximum of 1017 columns (raised in MySQL 5.6.9 from the earlier limit of 1000).


Und diese oben erwähnten 64kB sind bei MyISAM eben so ca. 1570 Felder.

Übrigens gibt es hier schon eine lange Diskussion darüber.
forums.limesurvey.org/forum/design-issue...stions-in-the-survey

Joffm

Hattest Du aber nicht gesagt, dass von MySQL zu MariaDB gewechselt wurde?
Obwohl ich sagen würde, dass dadurch sicher keine Verschlechterung eintreten sollte.
Ich konnte nämlich in MariaDB 2000 VARCHAR(5) Felder anlegen.
(Die Dokumentation von MariaDB ist da nicht so ganz zielführend)

Volunteers are not paid.
Not because they are worthless, but because they are priceless
Last edit: 3 years 5 months ago by Joffm.
The topic has been locked.
  • adelphisurveys
  • adelphisurveys's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
3 years 5 months ago #208568 by adelphisurveys
Und die Fragentypen die die meisten Tabellen erstellen sind der Fragentyp Matrix und wahrscheinlich die Liste? Also welche sollte ich denn meiden? Ich habe hier eine Umfrage, die aus vielen Matrixen besteht. Diese Umfrage lässt sich jetzt auch nicht aktivieren.

Gruß Bavra
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #208571 by Joffm
Hallo,
Fragetyp Matrix kann mehreres bedeuten.
Die "Matrix" und "Matrix nach Spalte" belegt pro Teilfrage ein Datenbankfeld, alle anderen ein Feld pro Zelle, also eine Matrix(Texte) mit 5 Teilfragen und 4 Spalten belegt 20 Felder in der Datenbank.

Daher sind diese Typen am gefährlichsten.
Klar auch eine simple Matrix kann ausufern.
Ich habe gerade wieder eine Studie gesehen, in welcher die Teilnehmer mit mehreren jeweils über 30 Items umfassende Itembatterien gequält werden sollten.
Auch wenn durch Teilfragenrelevanz der einzelne Befragte nur einen kleinen Teil beantworten muss, sind die Felder eben anzulegen.

Aber das ist ja alles theoretisch.
Schick doch den lss Export dieser Studie einmal her.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
  • adelphisurveys
  • adelphisurveys's Avatar Topic Author
  • Offline
  • Senior Member
  • Senior Member
More
3 years 5 months ago #208594 by adelphisurveys
Würde ich Dir gerne schicken, kann ich das Dir per PM schicken?

Weil öffentlich bin ich mir nicht so sicher.


Danke und Grüße
The topic has been locked.
  • Joffm
  • Joffm's Avatar
  • Offline
  • LimeSurvey Community Team
  • LimeSurvey Community Team
More
3 years 5 months ago #208595 by Joffm
Kannst Du;
besser an meine Mail-Adresse, die ich Dir geschickt habe.

Joffm

Volunteers are not paid.
Not because they are worthless, but because they are priceless
The topic has been locked.
Moderators: Joffm

Lime-years ahead

Online-surveys for every purse and purpose