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 4204 registrierte Benutzer, 5134 Themen und 17062 Antworten.
Es werden durchschnittlich 7.06 Beiträge pro Tag erstellt.

Zur Zeit sind 0 Benutzer online, davon 0 registrierte Benutzer.
Heute war bereits 1 registrierter Benutzer online.

Schulungen
orgaMAX Schulungen

Wir zeigen Ihnen, wie Sie orgaMAX optimal einsetzen.
Mehr erfahren

Weiterempfehlen
orgaMAX empfehlen

Prämie bis zu 50€ sichern.
Mehr erfahren

Webinare
Webinare

Unsere kostenlosen Online-Seminare.
Mehr erfahren

FAQ
FAQ-Bereich

Antworten auf die häuftigsten Fragen.
Mehr erfahren

Download
orgaMAX Handbuch

Kostenlos als PDF herunterladen.
Download

Newsletter
orgaMAX Blog

Bleiben Sie auf dem Laufenden.
Mehr erfahren

Support-HotlineWir sind für Sie da

Entweder Sie stellen Ihre Support-Anfrage per E-Mail
oder rufen uns direkt an:

+49 (0)5231 7090-0

Unsere Telefonzeiten 
Montag bis Freitag: 
8 bis 12 und 12.45 bis 18 Uhr

E-Mail Anfrage