[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Sep 2005
    Beiträge
    430

    sensitive cursor

    Moin *all

    in einem SQLRPGLE Pgm bekomme ich entweder zur laufzeit einen sqlcode -501
    mit SQL0243 und dem Text: "Als sensitive definierter Cursor c1 kann für angegebene Anweisunf Select nicht definiert werden" oder bei der Umwandlung:
    SQL0225 Fetch nicht gültig, Cursor c1 nicht verschiebbar.

    Wenn ich ehrlich bin habe ich mir nie so richtig gedanken gemacht ...

    i.d.R heist das bei uns immer:

    Declare c1 (dynamic) scroll cursor for
    select ...

    Mein sql verbindet 3 Dateien miteinander und hat einen select im select


    select f1, f2, f3, max((select FX from datei where e_feld = F2)), f4, f5, ..
    from d1, d2, d3
    Where ...

    Das ist auch nicht sooooo ungewöhnlich hier

    Fast Feierabend und mitten im Wald steht kein Baum.

    Einer ne Idee?

    Danke

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.952
    Scroll Cursors erlauben innerhalb des Result-Sets vorwärts und rückwärts zu lesen und am Anfang/Ende zu positionieren, ohne dass die Daten neu gelesen werden müssen.
    Dynamic Scroll Cursor erlauben einen Update über den Cursor (was natürlich bei einem Join und verschachteltem Sub-Select nicht erlaubt ist).
    Normalerweise ist ein Scroll Cursor nicht notwendig, da die Daten in einer Richtung gelesen und dann ausgegeben oder verarbeitet werden.
    Update über Cursor geht auch mit seriellem Cursor, aber bei verjointen Tabellen ist auch das nicht zulässig.
    Birgitta Hauser

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

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.818
    Wenn du nur einen lesenden paginierten Cursor benötigst, kannst du mit

    Complex SQL....
    offest pos limit count

    in den Seiten vorwärts / rückwärts positionieren. pos/count gehen auch per Programmvariablen.
    Im Endeffekt auch nicht langsamer als der aufwändige Scrollcursor.
    Natürlich musst du jedes mal auch Open/Close verwenden.
    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

  4. #4
    Registriert seit
    Sep 2005
    Beiträge
    430
    Danke Euch,
    Es wird kein Update gemacht.
    Aber per fetch 'durchgelesen'

    also habe ich einen
    declare C1 Scroll Cursor for ...

    Warum bekomme ich den
    sqlcode -501 und im Joblog SQL0243 und dem Text: "Als sensitive definierter Cursor c1 kann für angegebene Anweisung Select nicht definiert werden"

    Was darf man den IM select nicht machen wei es diesen Fehler auslöst?

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.818
    Du machst, wie Birgitta schon schrieb, einen Join über 3 Dateien. Und das geht eben nicht sensitive.
    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

  6. #6
    Registriert seit
    Sep 2005
    Beiträge
    430
    Aber es ist ein
    scroll Cursor, kein dynamic scroll Cursor

    Geht in anderen (älteren) Programmen ja auch!

  7. #7
    Registriert seit
    Aug 2001
    Beiträge
    2.952
    Welchen SQLCODE bekommst Du denn direkt nach dem OPEN?
    Birgitta Hauser

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

Similar Threads

  1. Datei ohne eindeutigen Schlüssel mit SQL Cursor abarbeiten und updaten
    By dschroeder in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 21-06-14, 19:54
  2. RDi 9.0.1 und Kontext Sensitive Hilfe
    By camouflage in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 14-03-14, 17:23
  3. Artikel: SQL: dynamisches Select ohne Cursor
    By NEWSolutions Redaktion in forum NEWSolutions artikel
    Antworten: 0
    Letzter Beitrag: 05-12-13, 19:03
  4. SQL Anfänge: SENSITIVE CURSOR - For Fetch Only
    By Curan in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 20-12-10, 10:19
  5. Apache TomCat 5.0.19 Case-Sensitive deaktivieren
    By mulle78 in forum NEWSboard Java
    Antworten: 0
    Letzter Beitrag: 11-05-04, 09:06

Berechtigungen

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