Zum Inhalt springen

Nach Upgrade von V. 38 => 4.02 Probleme mit ml_maps

Erstellt am 5. Oktober 2006 · 27 Antworten · letzte Antwort am 28. April 2008 · Seite 1 von 2

Tags: Datenbank, Update & Upgrade, Frage

doberschuetz ·

Hallo zusammen!

Um eine weitere Extension hinzu fügen zu können habe ich das System von Typo3 v. 3.8 nach v. 4.02 aktualisiert. Leider hat mir dabei das Modul "ml_maps" scheinbar die Datenbank an einer für das Plugin empfindlichen Stelle zerschossen! #angry#
Ich erhate z.B. folgende Fehlermeldungen :
>> DBAL fatal error: No handler found in handler_getFromTableList() for: "tx_mlmaps_locations l LEFT JOIN tx_mlmaps_markers m ON l.marker=m.uid" (SQL engine parse ERROR: No join table found in parseFromTables()!: near "tx_mlmaps_markers m ON l.marker=m.uid ")<<
oder:
>> ERROR: Query could not be parsed: "SQL engine parse ERROR: No ) parenthesis in list: near "(), UNIX_TIMESTAMP(), '1', '1', '', 'black') "". Query: "INSERT INTO tx_mlmaps_markers VALUES ('1', '0', UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), '1', '1', '', 'black');" <<

Wie kann ich das Ding wieder zum Laufen kriegen???

Grüße Enno

contentXXS ·

Hallo,

doberschuetz schrieb

DBAL fatal error:
ERROR: Query could not be parsed:
Query: "INSERT INTO tx_mlmaps_markers VALUES ('1', '0', UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), '1', '1', '', 'black');

was passiert wenn du die Extension ml_maps entlädst?
Scheint ein Problem von DBAL mit dem Parsen der obigen Abfrage zu sein.
Läuft diese Abfrage denn, wenn du sie manuell in PHPMyAdmin eingibst?
Ich denke der Entwickelr von ml_maps wäre der richtige Ansprechpartner.

Grüße,

Ralph

doberschuetz ·

Naja, wenn ich die Extension entlade, dann habe ich mit dem restlichen System keine Probleme mehr. Das Problem tritt auf, wenn ich eine vermeindlich existierende "Static Table" importieren soll, oder versuche, mit der Editor-Funktion die Karte zu bearbeiten. Nur, ich find weder die Tabelle, noch einen entsprechenden Eintrag! Habe dem Entwickler eben eine Mail geschrieben!

Thx Enno

contentXXS ·

Hallo,

doberschuetz schrieb

Nur, ich find weder die Tabelle, noch einen entsprechenden Eintrag! Habe dem Entwickler eben eine Mail geschrieben!

Welche Tabelle fehlt? Die von der Extension? Oder jene static_info_...
Dann eventuell Extension löschen und neu installieren.

Grüße,

Ralph

contentXXS ·

Hallo,

ich würde die Extension noch mal löschen und dann versuchen die static_info installiert zu bekommen und danach jene problematische Extension.
Wenn die Ext dann nicht läuft, am besten debuggen.

Grüße,

Ralph

contentXXS ·

Hallo,

gibt es zu der Ext eine Anleitung?
Unter typo3.org steht was von wegen aktualsisiertem Manual, aber ein Manual konnte ich dazu nicht finden 🙁

Grüße,

Ralph

doberschuetz ·

Guten Morgen!

Zu der Extension habe ich noch keine ordentliche Anleitung gelesen. Das Manual habe ich auch noch nicht gefunden. Die Website hat uns eine Firma erstellt, so dass ich auch nicht beim zusammenzimmern dabei war - habe praktisch nur das fertige Produkt bekommen und soll mich jetzt als HiWi um die technische Administration kümmern und eben noch ein paar Module einpflanzen. Ich werde es nochmal mit einer deinstallation versuchen... 8-)

Thx soweit!

Enno

contentXXS ·

Hallo,

installieren konnte ich die Ext gestern auf meinem Rechner ohne Fehlermeldung unter typo3 4.0.2. Habe die Ext dann auf eine leere Seite gelegt, dann war ich ohne Doku mit meinem Latein erst mal am Ende.

Grüße,

Ralph

doberschuetz ·

@ Ralph:

das Problem sind scheinbar die DBase Abfragen. Aus einem mir nicht näher ersichtlichen Grund habe ich, trotz einer komlpletten deinstallation eine Tabelle, die sich static_table schimpft, sich nicht löschen lässt und den Fehler zu verursachen scheint! Leider habe ich noch keine Antwort vom Entwickler erhalten. Im Zweifel muss ich halt das ganze System - wenns denn klappt, wieder über das Backup und den dump auf 3.8 zurücksetzen. Die Karte ist meiner Chefin wichtig! #paralyzed#

Setze gleich mal einen Screenshot in Forum.

doberschuetz ·

So, hier ein Screenshot der Tabelle, die eigentlich nicht mehr existieren dürfte:
Bild: globe-germany.de/…/ml_maps.jpg

ERROR: Query could not be parsed: "SQL engine parse ERROR: No ) parenthesis in list: near "(), UNIX_TIMESTAMP(), '1', '1', '', 'black') "". Query: "INSERT INTO tx_mlmaps_markers VALUES ('1', '0', UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), '1', '1', '', 'black');"
contentXXS ·

Hallo,

dann handelt ers sich aber eindeutig ium ein Problem mit einer ml_maps Tabelle!

Was passiert, wenn Du den SQL Code in PhpMyAdmin eingibst:

INSERT INTO tx_mlmaps_markers VALUES ('1', '0', UNIX_TIMESTAMP(), UNIX_TIMESTAMP(), '1', '1', '', 'black');

Existiert die Tabelle "tx_mlmaps_markers" denn noch?

Grüße,

Ralph Brugger

contentXXS ·

Hallo,

setzt ihr den DBAL (Database Abstraction Layer) denn ein?

Die Fehlermeldung wird ja vom DBAL Parser ausgeworfen.

Wenn ihr den DBAL zwar geladen habt, aber nicht benötigt, kannst du ihn mal entladen. Die Ext braucht den DBAL jedenfalls wohl nicht.

Grüße,

Ralph

doberschuetz ·

@ Ralph:

Es passiert folgendes:

Fehler

SQL-Befehl:

INSERT INTO tx_mlmaps_markers
VALUES (
'1', '0', UNIX_TIMESTAMP( ) , UNIX_TIMESTAMP( ) , '1', '1', '', 'black'
);

MySQL meldet: Dokumentation
#1136 - Column count doesn't match value count at row 1

Heißt für mich, die Tabelle existiert (richtig ?), nur die UID scheint nicht zu passen... Warum auch immer? o.O

contentXXS ·

Hallo,

doberschuetz schrieb

MySQL meldet: Dokumentation
#1136 - Column count doesn't match value count at row 1
Heißt für mich, die Tabelle existiert (richtig ?), nur die UID scheint nicht zu passen... Warum auch immer? o.O

Nein, das heisst, dass die Definition der Tabelle mehr oder weniger Spalten enthält als das SQL Statement.
Wenn du ein Backup der DB hast, kannst du das Design der Tabelle manuell mit dem abgleichen wie es sein sollte:

TABLE `tx_mlmaps_markers` (
`uid` int(11) NOT NULL auto_increment,
`pid` int(11) NOT NULL default '0',
`tstamp` int(11) unsigned NOT NULL default '0',
`crdate` int(11) unsigned NOT NULL default '0',
`cruser_id` int(11) unsigned NOT NULL default '0',
`markerid` int(11) NOT NULL default '0',
`marker` blob NOT NULL,
`description` tinytext NOT NULL,
PRIMARY KEY (`uid`),
KEY `parent` (`pid`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;

-- Daten für Tabelle `tx_mlmaps_markers`
INSERT INTO `tx_mlmaps_markers` VALUES (1, 0, 1160070748, 1160070748, 1, 1, '', 'black');
INSERT INTO `tx_mlmaps_markers` VALUES (2, 0, 1160070748, 1160070748, 1, 2, '', 'white');

Grüße,

Ralph

doberschuetz ·

HA! Danke!

Ein Problem weniger! Es fehlte - aus welchem Grund auch immer - die Spalte MarkerID. Jetzt bekomme ich immerhin die Marker wieder hochgeladen, ohne eine Fehlermeldung zu bekommen. Die zweite Fehlermeldung wird allerdings weiterhin angezeigt, wenn ich versuche, die Karte zu bearbeiten.

Nach dem Klicken auf die Karte im editor erscheint dann folgendes:

DBAL fatal error: No handler found in handler_getFromTableList() for: "tx_mlmaps_locations l LEFT JOIN tx_mlmaps_markers m ON l.marker=m.uid" (SQL engine parse ERROR: No join table found in parseFromTables()!: near "tx_mlmaps_markers m ON l.marker=m.uid ")
contentXXS ·

Hallo,

doberschuetz schrieb

LEFT JOIN tx_mlmaps_markers m ON l.marker=m.uid" (SQL engine parse ERROR: No join table found in parseFromTables()!: near "tx_mlmaps_markers m ON l.marker=m.uid

Das klingt so als hättest du die Tabelle "tx_mlmaps_markers" gar nicht!

Wie hast du denn das Upate auf die 4.0.2 gemacht?
Im Installtool gibt es hier zwei Schritte für das Datenbankupdate zu erledigen. Wenn man dort eine falsche Auswahl macht, löscht das Tool im schlimmsten Falle Datenbanfelder oder Tabellen von Extensions.

Gibt es vielleicht noch eine Tabelle "zzz_deleted_tx_mlmaps_markers"?
Das Installtool löscht die Tabelle ggf idR nicht, sondern benennt sie nur um.
Wenn es so ewtas nicht mehr gibt:

Steht in den Tabellen der mlmaps Extension etwas wichtiges drinnen?

Wenn ja:
Backup dieser Tabellen einspielen!
tx_mlmaps_locations
tx_mlmaps_maps
tx_mlmaps_markers

Wenn nicht:
Diese Tabellen löschen oder umbenennen, Extension löschen, Extension neu installieren.

[EDIT]
Wenn du die Extension dann neu instalierst sollte er die Tabellen neu anlegen. Eine falssche Tabellendefinition sollte der Extension Manager aber eigentlich auch anzeigen.

Grüße,

Ralph

doberschuetz ·

Hallo!

Die Tabellen existieren wieder! Als der Fehler das erste Mal aufgetreten ist, habe ich, wie mir geraten wurde, die Extension gelöscht und anschießend wieder neu aufgespielt! Sämtliche Tabellen und Felder sollten nun existieren. Zumindest als ich das letzte mal in den SQL-Admin geschaut habe, waren alle Tabellen und Felder vorhanden. Somit habe ich keinen Plan, wo der Fehler ist.

Ich werde aber mal die Tage einen zweiten dump ziehen und den mal mit dem Original vergleichen - vielleicht findet sich ja noch eine nicht vorhandene Spalte oder so.
😉

Grüße,

Enno