MySQL-Fehler mit Hibiscus

Uwe-A

Betreff:

MySQL-Fehler mit Hibiscus

 ·  Gepostet: 23.06.2011 - 15:52 Uhr  ·  #76058
Hallo,

Heiner von "JVerein" hat mich hierhin verwiesen...(siehe http://www.jverein.de/forum/viewtopic.php?f=5&t=596)

Ich habe gerade Jameica 2.0.0 inklusive Hibiscus 2.0.0 unter WinXP aufgesetzt und möchte gern eine Verbindung zu MySQL herstellen.
Ich erhalte jedoch folgende Fehlermeldung:
error while executing sql script. Current statement: CREATE TABLE property (id int(10) AUTO_INCREMENT,name text NOT NULL,content text NULL,UNIQUE (id),UNIQUE KEY name (name(255)),PRIMARY KEY (id)) TYPE = InnoDB
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE = InnoDB' at line 1

InnoDB ist aktiv.
Was kann ich tun?

Gruß,
Uwe

hibiscus

Betreff:

Re: MySQL-Fehler mit Hibiscus

 ·  Gepostet: 23.06.2011 - 17:37 Uhr  ·  #76065
Schau mal unter http://dev.mysql.com/doc/refman/5.1/de/storage-engines.html

Code

Wenn Sie eine neue Tabelle anlegen, können Sie die zu verwendende Speicher-Engine angeben, indem Sie der CREATE TABLE-Anweisung die Tabellenoption ENGINE oder TYPE hinzufügen:

CREATE TABLE t (i INT) ENGINE = INNODB;
CREATE TABLE t (i INT) TYPE = MEMORY;

Der ältere Begriff TYPE wird aus Gründen der Abwärtskompatibilität noch als Synonym für ENGINE akzeptiert, doch ENGINE ist der aktuelle Begriff, während TYPE mittlerweile veraltet ist. 


Laut Doku sollte "TYPE = InnoDB" also weiterhin funktionieren. Aber du kannst es testhalber ja mal gegen "ENGINE = InnoDB" ersetzen. Vielleicht enthaelt deine MySQL-Version nicht mehr diese Abwärtskompatibilität.

Uwe-A

Betreff:

Re: MySQL-Fehler mit Hibiscus

 ·  Gepostet: 23.06.2011 - 23:38 Uhr  ·  #76079
Wo muss ich das ändern?
Ich habe in meinem .jameica-Ordner unter ".jameica\plugins\hibiscus\sql" eine Datei namens "mysql-create.sql" gefunden, die den im Fehler genannten Code enthält.
Ich habe die editiert, aber ich erhalte denselben Fehler wieder. Scheint so, als wird die Datei nicht verwendet.
Was mache ich falsch?

hibiscus

Betreff:

Re: MySQL-Fehler mit Hibiscus

 ·  Gepostet: 24.06.2011 - 00:01 Uhr  ·  #76080
Na klar die Datei - das ist doch auch die, mit der du die SQL-Tabellen anlegst ;)

> Ich habe die editiert, aber ich erhalte denselben Fehler wieder.

Das kann unmoeglich die selbe Fehlermeldung sein. Dann hast du die Datei nicht an allen Stellen geaendert.

Uwe-A

Betreff:

Re: MySQL-Fehler mit Hibiscus

 ·  Gepostet: 24.06.2011 - 01:09 Uhr  ·  #76081
Das Problem war: Die Datei gibt's mit gleichem Namen im syntax\sql-Ordner.
Und in der Datei musste ich dann editieren.
Ist also kein hibiscus-Problem, sondern ein syntax-Problem, bzw. auch ein syntax-Problem.
Zumindest hattest du schon mal Recht, denn nach der Änderung wird die Datenbank nun erzeugt. Leider stosse ich auf ein neues Problem.
Nachdem die Datenbank angelegt wurde, erscheint in der oberen Statuszeile (unter "SynTAX: Schritt 1 von 4 - Einrichtung der Datenbank") die Ausgabe
Der Service "engine" wurde nicht gefunden.

Sagt dir das was?

Uwe-A

Betreff:

Re: MySQL-Fehler mit Hibiscus

 ·  Gepostet: 24.06.2011 - 08:12 Uhr  ·  #76084
Ich habe heute morgen nochmal mein .jameica Verzeichnis gelöscht und bin nochmal Schritt für Schritt vorgegangen.
Jetzt läuft es!
Den Fehler "Der Service "engine" wurde nicht gefunden." muss ich wohl bei meinen Editierversuchen selbst eingeschleust haben.
Ich fass nochmal alles kurz zusammen, damit ein(e) anderer(e) Leserin/Leser auch etwas von meinen Basteleien hat. Also:
Das Thema müsste eigentlich heißen "MySQL-Fehler mit SynTAX"...
Mein Setup ist:
Windows XP
Jameica 2.0.0
Hibiscus 2.0.0
Syntax 2.0
MySQL 5.5
Oben genannter Fehler lässt sich reparieren, indem in der Datei
".jameica\plugins\syntax\sql\mysql-create.sql" alle Einträge der Art "TYPE = InnoDB"auf "ENGINE = InnoDB" geändert werden.
Dabei ist zu beachten, dass die MySQL-Datenbank nach Auftreten des hier beschriebenen Fehlers gelöscht werden muss, ansonsten funktioniert die Fehlerkorrektur nicht. (war zumindest bei mir so)

Einen schönen Tag noch und vielen Dank für die Hilfe,
Uwe