-
IDB ODBC Fehler Excel 2000 VB6
Hallo Zusammen,
ich habe ein Problem mit einer SQL-Abfrage, welche ich aus einem Excel(2000)
Makro ausführe.
Es ist ein ziemlich umfangreiches Makro, welches viele Abfragen auf der AS/400
ausführt, die Funktionieren.
Nun bekomme ich bei meine Abfrage folgende Fehlermeldung:
Laufzeitfehler '-2147467259(80004005)':
[IBM][Client Access Express ODBC-Treiber(32-Bit)][DB2/400]SQL0666-
SQL-Abfrage überschreitet Angabe für Zeitlimit oder Speicherlimit.
Interressanter Weise, habe ich 2 identische Abfragen auf unterschiedlichen Tabellen,
diese ähneln sich jedoch. Beide Abfragen sind identisch. Die eine Funktioniert, die
Andere ---> PENG
Beide Abfragen funktionieren auf der AS/400 via 5250 ....?
Fall jemand von Euch eine Idee hat wäre ich sehr dankbar.
Viele Grüße,
Crazy
Die Abfrage:
Code:
SELECT DISTINCT t.num1, t.txt1 FROM tabelle1 AS t
WHERE t.num1 IN
(SELECT text1 FROM tabelle2 WHERE num2 = 001 AND
num3 = 42 AND flag = 'P' AND jahr IN (2008, 2007) GROUP BY num1 )
AND t.num2 = 001 AND t.num1 > 0 ORDER BY t.num1
-
IBM - ODBC Query Timeout Property: SQL0666 Estimated Query Processing Time Exceeds Limit
es rentiert sich aber nochmal zu googeln, da gibt es einen launigen Artikel zu den estimates des Query Pessimizers...
 Zitat von CrazyMetal
Hallo Zusammen,
ich habe ein Problem mit einer SQL-Abfrage, welche ich aus einem Excel(2000)
Makro ausführe.
Es ist ein ziemlich umfangreiches Makro, welches viele Abfragen auf der AS/400
ausführt, die Funktionieren.
Nun bekomme ich bei meine Abfrage folgende Fehlermeldung:
Interressanter Weise, habe ich 2 identische Abfragen auf unterschiedlichen Tabellen,
diese ähneln sich jedoch. Beide Abfragen sind identisch. Die eine Funktioniert, die
Andere ---> PENG
Beide Abfragen funktionieren auf der AS/400 via 5250 ....?
Fall jemand von Euch eine Idee hat wäre ich sehr dankbar.
Viele Grüße,
Crazy
Die Abfrage:
Code:
SELECT DISTINCT t.num1, t.txt1 FROM tabelle1 AS t
WHERE t.num1 IN
(SELECT text1 FROM tabelle2 WHERE num2 = 001 AND
num3 = 42 AND flag = 'P' AND jahr IN (2008, 2007) GROUP BY num1 )
AND t.num2 = 001 AND t.num1 > 0 ORDER BY t.num1
-
Das Problem ist hier der QueryTimeLimit!
Wenn die AS/400 glaubt, dass die Abfrage zu lange dauert, kommt dieser Fehler.
Häufigste Ursache: Fehlende Schlüssel (Index/LF) und viele Daten.
Die QueryZeit (ODBC-Timeout) läßt sich Clientseitig nur über die Registry einstellen (k.A. wo).
Alternativ kann man in der ODBC-Konfig eine Optionsdatei (auf der AS/400) QAQQINI angeben in der man das Timelimit dann definieren kann.
Vorrangig sollte allerdings der SQL geprüft werden.
STRSQL optimiert für Dialog, so dass hier meist der Timer gar nicht zuschlägt.
Similar Threads
-
By jjagi in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 07-07-06, 08:29
-
By Hubert in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 10-05-06, 09:41
-
By chris0612 in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 13-10-05, 13:21
-
By Langesv in forum NEWSboard Windows
Antworten: 1
Letzter Beitrag: 02-09-04, 15:57
-
By hs in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 22-08-02, 07:27
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks