[NEWSboard IBMi Forum]
Seite 2 von 2 Erste 1 2

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.791
    In der Doku wird auch nicht auf die ODP's eingegangen.
    Ob ein Forced-CLose auf einen Cursor auch den ODP schließt bleibt abzuwarten.

    Andererseits weist die Doku hier auf den Wert 65536 hin, was auf die maximale Anzahl an Cursor deutet.
    Wenn obiges Programm schon Monate läuft, kann dieses Limit ja durchaus schon erreicht sein.

    Und wie Dieter schon sagt, ein weiterer Open per SQL (ggf. auch Native IO?) ist dann nicht mehr möglich.

    (Wobei die DB-Limits da angeben "storage").
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.943
    M.E. sollte der Tip von Andreas angenommen werden, und die Optionen OPEN_CURSOR_CLOSE_ COUNT und OPEN_CURSOR_ THRESHOLD gesetzt werden.
    Eine Dokumentation findet sich hier:
    QAQQINI query options

    Die QAQQINI kann ja mit CRTDUPOBJ in jede Bibliothek kopiert und dort modifiziert werden, und anschließend mit CHGQRYA auf Job-Ebene aktiviert werden.

    Wird das Limit der geöffneten Cursor/(SQL)ODPs erreicht, werden die am längsten nicht benutzten (SQL) ODPs gelöscht (Hard Close)

    Zu prüfen wäre auch, ob zufällig in der Bibliotheksliste der Datenbereich QSQPSCLS1 irgendwo in der Bibliotheksliste gefunden wird. In diesem Fall werden nämlich ODPs nämlich nach der ersten Ausführung nicht gelöscht.

    Vielleicht ist auch der folgende Link hilfreich:
    Reducing the number of open operations

    Kann es vielleicht auch sein, dass das gleiche dynamische SQL-Statement immer und immer wieder erstellt (PREPARE) und anschließend ausgeführt wird (EXECUTE)?

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 5. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Zitat Zitat von Fuerchau Beitrag anzeigen
    In der Doku wird auch nicht auf die ODP's eingegangen.
    Ob ein Forced-CLose auf einen Cursor auch den ODP schließt bleibt abzuwarten.
    Der Link von Birgitta zeigts sehr schön:
    The ODPs opened by DB2 for i are closed when any of the following occurs:
    * the threshold for open cursors specified by the query options file (QAQQINI) parameter OPEN_CURSOR_THRESHOLD is reached.
    * a hard close was forced.
    Zitat Zitat von Fuerchau Beitrag anzeigen
    Ein CURSOR ist kein ODP. Dies wird unabhängig verwaltet.
    Oben kann man eben auch nochmal nachlesen, dass diese eben NICHT unabhängig voneinander sind.

Similar Threads

  1. SQLRPGLE und offene Dateien
    By Tonazzo in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 16-06-14, 10:30
  2. Offene Sitzung auf der AS400 wieder aufnehmen!
    By kriss in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-02-03, 10:15

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •