[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Jan 2001
    Beiträge
    66

    MCH3203 mit SQL

    Wir haben massive Probleme im Bereich SQL. V5R2; PTF-Stand: TL03161 inkl. Hiper und Group, sowie DB-PTF vom 03.07.03.

    1. Ein SQL-Select Statement liefert über ODBC, Easycom oder JDBC (ISeries Nav) ein gültiges Ergebnis, über das interactive SQL liefert DASSELBE Statement KEINEN Satz!!!!

    2. Ein anderes SQL-Select Statement (welches seit einem Jahr unverändert lief) liefert folgenden Systemfehler:

    Funktionsfehler X'1720' in Maschineninstruktion. Interne Speicherauszugkennzeichnung 010016F2.
    Datei DBOPTRACE in Bibliothek QTEMP erstellt.
    Objekt DBOPTRACE in QTEMP Art *FILE wurde gelöscht.
    *** DBOP open FAILED. Exception from call to SLICÜ ***.
    Interner Fehler im Abfrageprozessor.
    SQL-Systemfehler.

    HINWEIS: Wird das "order by" aus dem Statement entfernt, dann kommt der Fehler nicht!

    Fehler 1 kommt auf ALLEN LPAR's
    Fehler 2 kommt NUR auf zwei LPAR's, auf einer anderen NICHT


    Gruß
    Sven Lorenzen

  2. #2
    Registriert seit
    Dec 2000
    Beiträge
    79

    SQL Probleme

    Hallo Sven,
    da das SQL unter V5R2 zur Zeit wohl eine Großbaustelle bei der IBM ist, es gibt quasi täglich neue PTF's, solltest du dein Problem bei der IBM melden.

    Falls Ihr keinen Wartungsvertrag habt, poste mal dein Statement, und falls notwendig die dazugehörigen Tabellendefinitionen.
    Da ich im Moment gerade diverse PMR's bezgl. SQL offen habe kann ich das problem vielleicht mit unterbrigen.

    Thomas

  3. #3
    Registriert seit
    Jan 2001
    Beiträge
    66
    Hallo Thomas,

    das mit der Baustelle scheint wirklich so zu sein. Man kann die Fehler gar nicht mehr nachvollziehen. Und da wir ein großes C/S-System mit ganz viel SQL gerade echt eingeführt haben, ist das für uns eine äußerst unglückliche Situation. Deshalb erstmal Danke für das Angebot mit dem "unterbringen".

    Hier kommt das Select für Fehler Nr. 1:

    SELECT DISTINCT vkko.VKKOVKNR, artstm.ARPRLI, MIN (vkpo.VKPOLDAT) LDAT FROM
    TCD435MD/VKKOPF vkko JOIN TCD435MD/VKPOPF vkpo ON (vkko.VKKOMAND = vkpo.VKPOMAND
    AND vkko.VKKOVKNR = vkpo.VKPOVKNR) JOIN TCD435MD/ARTSTMPF artstm
    ON (vkpo.VKPOMAND = artstm.ARMAND AND vkpo.VKPOARNR = artstm.ARARNR
    AND artstm.ARSTAT = '')
    WHERE vkpo.VKPOMAND = 35 AND vkpo.VKPOVKNR = 1084780001
    AND (SELECT prva.PRVAWEVK FROM TCD435AD/PRVARTPF prva WHERE vkko.VKKOMAND =
    prva.PRVAMAND AND vkko.VKKOVART = prva.PRVAVART AND vkko.VKKOVUART =
    prva.PRVAVUART AND vkko.VKKOVEPA = prva.PRVAVEPA AND artstm.ARPRLI =
    prva.PRVAPRLI AND artstm.ARLEIST = prva.PRVALEIST) = 'J'
    GROUP BY vkko.VKKOVKNR,artstm.ARPRLI

    Und hier kommt das Select für Fehler Nr. 2:
    Interessant dabei: OHNE "order by" Klausel läufts!

    Select distinct GEZUVART,
    CASE
    WHEN GEZUVART='ZLNR' THEN 1
    WHEN GEZUVART='VLNR' THEN 2
    WHEN GEZUVART='LINR' THEN 3
    WHEN GEZUVART='ZKNR' THEN 4
    WHEN GEZUVART='VKNR' THEN 5
    WHEN GEZUVART='KDNR' THEN 6
    WHEN GEZUVART='LGSNR' THEN 7
    WHEN GEZUVART='STRNR' THEN 8
    WHEN GEZUVART='PLZ' THEN 9
    WHEN GEZUVART='ORT' THEN 10 ELSE 11 END AS PLATZ ,
    CASE WHEN GEZUVART in ('ZLNR','VLNR','LINR','ZKNR','VKNR','KDNR') THEN 'KV' ELSE ' ' END AS VERKNUEPF ,
    VW.GEVWPRIO, VW.GEVWVWNR, VW.GEVWADNR, VW.GEVWVNR, VW.GEVWVZUS, VW.GEVWAB,
    STM.GESTTYP, STM.GESTNR, STM.GESTART, STM.GESTUART, STM.GESTMATC, STM.GESTSLNR
    From TCD435MD/LIVKKOPF
    JOIN TCD435MD/VKERGPF VKERG ON VKERG.ALSTAT = ' ' And VKERG.ALMAND=LIVKMAND And VKERG.ALART='VKKOPF' And VKERG.ALWERTA=LIVKVKNR And VKERG.ALKEY='KUNDENNUMMER'
    JOIN TCD435MD/GEBZUPF ON
    GEZUSTAT = ' ' and GEZUMAND=35
    AND (
    GEZUVART='VKNR' and GEZUVWAL='' and GEZUVWNA=LIVKVKNR and GEZUVWNB=0 or
    GEZUVART='ZKNR' and GEZUVWAL='' and GEZUVWNA=LIVKVKNR and GEZUVWNB is Not Null or
    GEZUVART='KDNR' and GEZUVWAL='' and GEZUVWNA=VKERG.ALKDNR and GEZUVWNB=0 or
    GEZUVART='LGSNR' and GEZUVWAL='' and GEZUVWNA=35005233 and GEZUVWNB=0 or
    GEZUVART='STRNR' and GEZUVWAL='' and GEZUVWNA=982368 and GEZUVWNB=0 or
    GEZUVART='PLZ' and GEZUVWAL='38723' and GEZUVWNA=0 and GEZUVWNB=0 or
    GEZUVART='ORT' and GEZUVWAL='' and GEZUVWNA=55203001 and GEZUVWNB=0 or
    GEZUVART='BL' and GEZUVWAL='NIE' and GEZUVWNA=0 and GEZUVWNB=0 )
    JOIN TCD435MD/GEBSTMPF STM ON STM.GESTMAND=GEZUMAND AND STM.GESTSLNR=GEZUSLNR
    LEFT JOIN TCD435MD/GEBVWPF VW ON VW.GEVWSTAT = ' ' AND VW.GEVWMAND=GEZUMAND AND VW.GEVWSLNR=GEZUSLNR
    WHERE (
    LIVKMAND=35
    AND (
    LIVKLINR=35005233 ) )
    Order by STM.GESTTYP, PLATZ, VW.GEVWPRIO, STM.GESTNR
    For Read Only


    Gruß Sven

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL und OBJLCK
    By malzusrex in forum IBM i Hauptforum
    Antworten: 8
    Letzter Beitrag: 19-09-06, 11:04
  4. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  5. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43

Berechtigungen

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