Support

Forum

Forum

Suche

Anmeldung

Geben Sie Ihren Benutzernamen und Ihr Passwort ein, um sich anzumelden.

Dringend: OM11 + Gambio 1.0.14 Fehler beim Einlesen der Datensätze

oneit
Neuling
Themenersteller
Verfasst am: 22.02.2012 [16:40]
Hallo zusammen!

Unser Kunde bekommt seit ein paar Tagen beim Einlesen der Shopbestellungen folgende Meldung:
--------
Es trat ein Fehler beim Einlesen der Datensätze auf:
Die angegebene Query liefert keine gültigen Ergebnisse.
...
Die Ausführung des SELECT würde zu viele Datensätze untersuchen und wahrscheinlich zu lange dauern. Bitte WHERE-Klausel überprüfen und gegebenenfalls SET_BIG_SELECTS=1 oder SET SQL_MAX_JOIN_SIZE=# verwenden.
---------

Was will mir OM damit sagen?
Wer produziert diesen Fehler?
Was kann die Ursache sein?
Ist dies ein bekanntes Problem?

Im Shop sind ~5000 Bestellungen vorhanden.

Da der Shop bei einem Hoster liegt, haben wir keinen Zugriff auf die MYSQL Settings.

Der Effekt ist, dass OM keine Bestellungen abholt.

Ich bereits die neueste, angebotene Version der Schnittstelle hochgeladen. -> Selber Effekt.

Vielen Dank für Eure zahlreichen Antworten icon_wink.gif


Liebe Grüße
Christian





Raidri
orgaMAX-Team
Verfasst am: 22.02.2012 [16:50]
Hallo oneit,

um temporär 5000 Bestellungen importieren zu können lohnt es sich in dem SQL Script ein Limit einzubauen.

In der Gambio.php unter der Funktion daten_holen() befindet sich das notwendige Query. Ganz unten würde ich ein "limit 2500" einbauen. Wenn dann alle Bestellungen abgeholt sind, diese Änderung wieder entfernen.

LG

Raidri
oneit
Neuling
Themenersteller
Verfasst am: 22.02.2012 [16:55]
"Raidri" schrieb:

Hallo oneit,

um temporär 5000 Bestellungen importieren zu können lohnt es sich in dem SQL Script ein Limit einzubauen.

In der Gambio.php unter der Funktion daten_holen() befindet sich das notwendige Query. Ganz unten würde ich ein "limit 2500" einbauen. Wenn dann alle Bestellungen abgeholt sind, diese Änderung wieder entfernen.




Hallo Raidri!

Danke für die schnelle Antwort.

Es ist aber so, dass es NICHT 5000 neue Bestellungen sind. Sondern nur 1 bis 2 neue. Die Gesamtsumme aller Bestellungen im Shop ist >5000.
Es macht daher wohl keinen Sinn, dass Limit wieder zu entfernen, oder?

LG
Christian
Raidri
orgaMAX-Team
Verfasst am: 22.02.2012 [16:58]
Wie viele Bestellungen haben den Status "offen" ?

Nachdem diese von uns abgeholt werden, bekommen sie den Status "in Bearbeitung" und werden beim nächsten abholen nicht mehr berücksichtigt. Klar kann man das Limit auch drin behalten, dann kann man sicher gehen, dass man immer in einem Rahmen läuft wo es den SQL Server nicht sprengt..

Ob 2500 genug ist kann ich aber nicht sagen. Das war nur ein Vorschlagswert.

LG

Raidri
oneit
Neuling
Themenersteller
Verfasst am: 22.02.2012 [17:05]
"Raidri" schrieb:

Wie viele Bestellungen haben den Status "offen" ?

Nachdem diese von uns abgeholt werden, bekommen sie den Status "in Bearbeitung" und werden beim nächsten abholen nicht mehr berücksichtigt. Klar kann man das Limit auch drin behalten, dann kann man sicher gehen, dass man immer in einem Rahmen läuft wo es den SQL Server nicht sprengt..

Ob 2500 genug ist kann ich aber nicht sagen. Das war nur ein Vorschlagswert.




Derzeit offen sind 4!

Ich baue das mal testweise ein. Mal sehen, wie sich das dann verhält.

LG
Christian
oneit
Neuling
Themenersteller
Verfasst am: 22.02.2012 [17:17]
So!

Das hat genau nichts gebracht.

Selbe Fehlermeldung.

Die letzen Zeilen von dem Query sehen bei mir jetzt so aus:

...
LEFT OUTER JOIN
banktransfer ON (orders.`orders_id` = `banktransfer`.`orders_id`)
WHERE
orders_status = '".$GLOBALS["DEFAULT_ORDERS_STATUS"]."'
LIMIT 1500";


Das sollte ja wohl so passen, oder?

LG
Christian
Raidri
orgaMAX-Team
Verfasst am: 23.02.2012 [07:52]
Jo das ist richtig, Das Problem ist einfach das bei dem Statement und den über 5000 Datensätzen zu viele Tabellen für die MySQL Datenbank untersucht werden müssen.

Dies scheint auch ein Fehler in älteren MySQL Versionen zu sein.

Das einzige was man da machen kann, wäre das SQL Statement aufzubröseln und es in viele kleine zu verpacken. So müsste die Datenbank nicht ein großes Statement abfrüstücken, sondern viele kleine. LG

Raidri
oneit
Neuling
Themenersteller
Verfasst am: 23.02.2012 [09:22]
"Raidri" schrieb:

Jo das ist richtig, Das Problem ist einfach das bei dem Statement und den über 5000 Datensätzen zu viele Tabellen für die MySQL Datenbank untersucht werden müssen.

Dies scheint auch ein Fehler in älteren MySQL Versionen zu sein.

Das einzige was man da machen kann, wäre das SQL Statement aufzubröseln und es in viele kleine zu verpacken. So müsste die Datenbank nicht ein großes Statement abfrüstücken, sondern viele kleine.


Hmm icon_confused.gif
Das ist mir ja soweit schon verständlich.

Ich frage mich nur, wieso das so plötzlich auftreten kann.
Keiner hat etwas verändert. Ausser der Provider hat eventuell an MYSQL herumgeschraubt.
Die 5000 sind ja auch nicht von heut auf morgen entstanden. Der Shop läuft ja dort schon über 2 Jahre.

Deiner Aussage entnehme ich, dass dies offensichtlich kein bekanntes Problem in orgaMAX mit der Schnittstelle ist. Richtig?

LG
Christian
Raidri
orgaMAX-Team
Verfasst am: 23.02.2012 [09:40]
Morgen oneit,

das Problem ist uns so nicht bekannt richtig.

Wie du es aber selber schreibst, die Bestellungen sind nach und nach mehr geworden.
Am Anfang musste das SQL Statement nur 10 Bestellungen prüfen, dann 100, 1000 .... und so weiter.
Nun haben wir wohl mit diesem Statement bei dieser Menge und den Einstellungen des Providers eine Grenze erreicht. Das ist natürlich sehr unschön.

Ich habe mir das Problem mal notiert und wir müssen dann mal über eine Änderung an dem Statement nachdenken.

Eine Lösung wäre es dann wohl jetzt, wie schon beschrieben, dass Statement anders aufzuziehen. LG

Raidri
Mausko
Amateur
Verfasst am: 02.03.2012 [10:09]
Hallo,
ich nutze einen xtcommerce 304 SP21 in Verbindung mit Wiso Mein Büro, dem "kleinen" Bruder von Orgamax.
Ich hatte die gleiche Fehlermeldung, die ich mit einer Anpassung der Datenbank in Xt in den Griff bekommen habe.
Ich habe an folgenden Stellen einen Index gesetzt:
ALTER TABLE shipping_status ADD INDEX ( language_id ); ALTER TABLE products ADD INDEX ( products_startpage ); ALTER TABLE products_to_categories ADD INDEX ( categories_id ); ALTER TABLE orders_products ADD INDEX ( orders_id , products_id ); ALTER TABLE zones_to_geo_zones ADD INDEX ( geo_zone_id ); ALTER TABLE tax_rates ADD INDEX ( tax_zone_id ); ALTER TABLE products ADD INDEX ( manufacturers_id );

Bei mir hat das danach tadellos geklappt. Ob dies im Gambio Shop genauso geht, weiß ich nicht,das Prinzip sollte aber auch funktionieren, nur muss abgeglichen werden, ob die Tabellennamen bei Gambio und XT (noch) identisch sind.

orgaMAX Forum hat 4951 registrierte Benutzer, 5675 Themen und 18272 Antworten.
Es werden durchschnittlich 4.93 Beiträge pro Tag erstellt.

Zur Zeit sind 0 Benutzer online, davon 0 registrierte Benutzer.
Heute waren bereits 0 registrierte Benutzer online.

SUPPORT HOTLINE

Wir sind für Sie da!

+49 (0) 5231 7090-0

Montag - Freitag
8:00 - 12:00 und 13:00 - 17:00 Uhr

Erweiterte Supportzeiten von 7:00 - 20:00 Uhr sind in unseren Premium-Supportpaketen verfügbar.
Jetzt anfragen