Hallo,

das mit dem Query Time Limit, das ist eine Schätzung des sogenannten Query Optimizers. Ursache ist wohl ein fehlender Index über die Gruppierungs Kriterien, den sollte man mit CREATE INDEX ganz normal anlegen, dann ist das wohl weg. Den Timeout kann man auch einstellen (vermute mal an den DSN Einstellungen, aber da ist Baldur sicher der Experte, so oder so wäre das kurieren an den Symptomen und nicht Beseitigung der Ursache.
Journalisierung, das ist auf der AS400 das, was man woanders zuweilen Database Log nennt und das wird benötigt für Commit Steuerung. Bei den richtigen AS400 Hardlinern ist dieses Feature aber seltsamerweise suspekt, sodass darauf meist verzichtet wird (werden muss). Der einst modernste Datenbankrechner (immer noch aktuell) wird Mehrheitlich von der konservativsten Clientel benutzt.

mfg

Dieter Bender

Zitat Zitat von Monika
Hallo,

erstmal vielen, vielen Dank!
Konnte View erstellen, habe die geschweiften Klammen und oj benutzt, da MSQUery diese auch benutzt (wäre selbst nicht darauf gekommen), ging aber vorher nicht mit "normalen" Klammern.

Mein View:
sqlString = "create view Library1.v_BB as select bb as vbb, gg as vgg, (BB.ee + BB.aa - BB.dd) as BAddiert, (BB.ff + BB.gg) as BBAddiert
from {oj Datenbank.Library1.BB} where ((gg = 'AD') or (gg= 'EG') or (gg = 'LH') or (gg = 'EB) or (gg = 'KU'))"

(Habe bereits where in view benutzt, da nur diese Felder der Tabelle benötigt werden)

Nun wollte ich den View in eine Abfrage einbinden, was nur funktioniert, wenn ich NICHT gruppiere!

Folgende Abfrage ohne Aggregatfunktionen/Gruppierung ist ok:
sqlString = "Select AA.aa, v_BB.vbb, BB.vgg, CC.cc, DD.dd, BAddiert, BBAddiert from {oj Datenbank.Library1.AA AA inner join Library1.v_BB v_BB on AA.ww = v_BB.xx left outer join Library2.CC CC on v_BB.xx = CC.yy left outer join Library2.DD DD on AA.ww = DD.zz} "

Abfrage mit Aggregatfunktionen/Gruppierung:
sqlString = "Select AA.aa, v_BB.vbb, Count(vgg) as Anzahl, CC.cc, DD.dd, Sum(BAddiert) as SumBAddiert, Sum(BBAddiert) as SumBBAddiert from {oj Datenbank.Library1.AA AA inner join Library1.v_BB v_BB on AA.ww = v_BB.xx left outer join Library2.CC CC on v_BB.xx = CC.yy left outer join Library2.DD DD on AA.ww = DD.zz} group by AA.aa, v_BB.vbb, CC.cc, DD.dd"

Sobald ich gruppiere bekomme ich eine Fehlermeldung :
"SQL0666 Estimated query processing time 65 exceeds limit 30"

Wobei die processing time je nach Filtersetzung höher sein kann. Was ist das und wo kann ich das limit evtl. erhöhen?

(Und was hat es mit der Journalisierung auf sich? Musste bis jetzt nichts ändern)