[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2005
    Beiträge
    60

    SQL0418 Fehler - Parametermarkierung

    Hallo Forum,

    folgendes SQL-Statement funzt auf der AS wunderbar. Es geht um eine Datumsauswahl von 5 Tagen.
    Unter Java mit SQLJ erhalte ich bei der
    Ausführung folgenden Fehler:
    "java.sql.SQLException: [SQL0418] Verwendung von Parametermarkierungen ungültig."
    Weiss jemand wo der Fehler liegt? Danke...

    SQL-Statement:
    #sql rs = { select F1, F2
    FROM bibl1.file1
    WHERE F1 = '01' and
    F2 = '1' and
    F3 = 0 and
    DATE('2009' concat '-' concat Substr(Digits(DATUM), 3, 2) concat '-' concat Substr(Digits(DATUM), 1, 2))
    between CURDATE() and (CURDATE() + 5 DAYS)
    ORDER BY Substr(Digits(DATUM), 3, 2),
    Substr(Digits(DATUM), 1, 2)
    };



    Viele Grüße

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.873
    Hallo;

    ich nehme an, dass CURDATE und/oder CURDATE + 5 DAYS den Fehler verursachen.

    Versuche folgendes:
    1. Verwende anstatt CURDATE Current_Date. (Ich vermute allerdings, das dies auch nicht zum Erfolg führt.)
    2. Ermittle das Tagesdatum und das Ende-Datum vorab. Bereite beides als alphnumerischen String auf und binde diese Ergebnisse ein.

    Birgitta
    Birgitta Hauser

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

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Ich hoffe die "{}" gehören NICHT zum SQL-Befehl dazu.
    "{}" initiieren eigentlich einen Procedure-Call.
    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
    Mar 2002
    Beiträge
    5.287
    Hallo,

    it depends on release!
    Parameter Marker Unterstützung auf der AS/400 ist ein leidiges Thema, die Datenbank kann da einiges nicht, was andere (auch DB2, soviel zu UDB, was ja auch wieder out ist) können, bereits der CONCAT ist problematisch. Manchmal hilft ein (eigentlich unsinniger) Cast. Zur weiteren Analyse würde ich nacheinander die Bedingungen und den order by reduzieren, um die Bruchstelle zu finden. Es kann aber durchaus sein, dass dieses Statement mit SQLJ nicht gegen die Datenbank zu kriegen ist.

    Dieter Bender


    Zitat Zitat von edig Beitrag anzeigen
    Hallo Forum,

    folgendes SQL-Statement funzt auf der AS wunderbar. Es geht um eine Datumsauswahl von 5 Tagen.
    Unter Java mit SQLJ erhalte ich bei der
    Ausführung folgenden Fehler:
    "java.sql.SQLException: [SQL0418] Verwendung von Parametermarkierungen ungültig."
    Weiss jemand wo der Fehler liegt? Danke...

    SQL-Statement:
    #sql rs = { select F1, F2
    FROM bibl1.file1
    WHERE F1 = '01' and
    F2 = '1' and
    F3 = 0 and
    DATE('2009' concat '-' concat Substr(Digits(DATUM), 3, 2) concat '-' concat Substr(Digits(DATUM), 1, 2))
    between CURDATE() and (CURDATE() + 5 DAYS)
    ORDER BY Substr(Digits(DATUM), 3, 2),
    Substr(Digits(DATUM), 1, 2)
    };



    Viele Grüße
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  5. #5
    Registriert seit
    May 2005
    Beiträge
    60
    Danke für die Eure Hilfe!
    Habe die Lösung:

    #sql rs = { select F1, F2
    FROM bibl1.file1l
    WHERE F1 = '01' and
    F2 = '1' and
    F3 = 0 and
    Date(YEAR(CURRENT DATE) concat '-' concat Substr(Digits(DATUM), 3, 2) concat '-' concat Substr(Digits(DATUM), 1, 2))
    between CURRENT DATE and (CURRENT DATE + 5 DAYS)
    ORDER BY Substr(Digits(DATUM), 3, 2),
    Substr(Digits(DATUM), 1, 2)
    };


    Schöne Grüße

Similar Threads

  1. Os400 Fehler ?
    By Robi in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 04-11-06, 16:02
  2. Fehler bei SNDDST
    By sysopr in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 23-08-06, 14:10
  3. Finde Fehler bei SQL nich...
    By deni87991 in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 08-08-06, 13:50
  4. Fehler im SQL bzw. Joblog
    By GraueEminenz in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 10-07-06, 11:58
  5. ODBC Verbindungs Fehler (-7778)
    By Hubert in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 10-05-06, 09:41

Berechtigungen

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