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

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

contentXXS ·

Hallo,

ddie DB Definition der Extension hat sich aber inzwischen auch geändert.
Und vielleicht hast du jetzt eine neue Version der Extension.
Unten stehen mal die aktuellen Definitionen:

-- phpMyAdmin SQL Dump

-- --------------------------------------------------------
-- Tabellenstruktur für Tabelle `tx_mlmaps_locations`
-- --------------------------------------------------------
CREATE TABLE `tx_mlmaps_locations` (
`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',
`description` tinytext NOT NULL,
`map` int(11) unsigned NOT NULL default '0',
`posx` int(11) NOT NULL default '0',
`posy` int(11) NOT NULL default '0',
`link` tinytext NOT NULL,
`marker` int(11) unsigned NOT NULL default '0',
`layertext` text NOT NULL,
PRIMARY KEY (`uid`),
KEY `parent` (`pid`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

-- --------------------------------------------------------
-- Tabellenstruktur für Tabelle `tx_mlmaps_maps`
-- --------------------------------------------------------
CREATE TABLE `tx_mlmaps_maps` (
`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',
`map` blob NOT NULL,
`description` tinytext NOT NULL,
`category` tinytext NOT NULL,
PRIMARY KEY (`uid`),
KEY `parent` (`pid`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;

-- --------------------------------------------------------
-- Tabellenstruktur für Tabelle `tx_mlmaps_markers`
-- --------------------------------------------------------
CREATE 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');

contentXXS ·

Hallo,

es sieht schlecht aus!

Ich habe die Extension nun bei mir zum Laufen bekommen und bekomme den selben Fehler wie Du:

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 ")

Ich denke die Extension ist buggy und funktioniert nicht mit typo3 4.0.2

Müsste man nun debuggen, wo das Problem ist.

Grüße,

Ralph

contentXXS ·

Nachtrag:

Das hatte ich schon mal ganz zu Anfang geschrieben:

Der DBAL kommt mit den Abfragen der Extension nicht klar.

Wenn du im Extensionmanager unter "Backend" den "Database Abstraction Layer" entlädst, dann funktioniert es wieder! 😃

Was für eine DB-Engine verwendet ihr? mySQL?

Grüße,

Ralph

contentXXS ·

Hallo,

hier die Antwort vom Entwickler:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Hallo Ralph,
ich bedanke mich für die Aufklärung des Fehlers. Leider bin ich derzeit ziemlich eingespannt, aber ich werde bei Gelegenheit versuchen meine Änderungsliste bezüglich "ml_maps" umzusetzen und somit auch deine Korrekturen berücksichtigen.
Gruß
Markus Friedrich
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Wer die beiden von mir geänderten Dateien der Extension ml_maps haben will, kann sie sich hier herunterladen:
http://www.linkpool.de/ml_maps.tar.gz

Das ist nicht intensiv getetstet, scheint auf meinem Testsystem mit typ3 4.0.2 und DBAL aber zu funktionieren.
Die beiden Dateien in /typo3conf/ext/ml_maps sind zu ersetzen.

Natürlich mach man davor ein Backup der alten Dateien und der Datenbank 😉

Grüße,

Ralph

contentXXS ·

Hallo,

DANKE!!! Du bist einfach Super!!! Jetzt funzt es alles!

das hört man doch gerne.

Und beim nächsten Mal, machen wir das dann als bezahlten Job 😉

Grüße,

Ralph

Sebastian Schmal ·

wo finde ich denn diese neue datei?

oder ist das die selbe wie man sie online bei typo3.org bekommt ?

noch eine frage: bei mir wird der RTE im Backend nicht angezeigt!?