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

Thema: DQY Problem

  1. #13
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Hallo,

    das scheint nur an der Syntax Deines SQL zu liegen.

    Versuche doch mal statt

    E3NEXT like ('%'||" + Eingabe + "||'%')

    folgendes

    E3NEXT like ('%" & Eingabe & "%')

    Gruß,
    KM

  2. #14
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Da du als Eingabe eine Zeichenkette abgibst, gehe ich hier von einem Syntaxfehler aus:

    like ('%'||" + Eingabe + "||'%')

    In diesem Fall musst du die Variable Eingabe wieder in Hochkomma einbetten und ggf. vorhandenen Hochkomma verdoppeln, ausserdem kannst du "||" vergessen da du den String ja zusammenbaust.

    " ... like '%" & replace(Eingabe, "'", "''") & "%' ..."
    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

  3. #15
    Registriert seit
    Oct 2003
    Beiträge
    172
    Habe eure Anmerkung versucht um zusetzen hat leider nicht funktioniert.
    Wegen dem LIKe Problem habe ich auch mal mit „=“ gearbeitet und funktioniert leider nicht. Ich vermute das dieser String nicht richtig übergeben wird eventuelle ein BUG?

    Diese (Like ('%'||" + Eingabe + "||'%')) funktioniert bei einer Datei aber leider nicht bei meinem großem SQL.

    Aber noch mal Danke

  4. #16
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Mach doch mal einen MsgBox auf Deinen SQL-String. Dann siehst Du doch wo das Problem liegt bzw. wie der SQL im Endeffekt aussieht. Du füllst die Variable aus einer Inputbox. Kannst sie testweise ja mal aus einem Zellinhalt füllen.

    Gruß,
    KM

  5. #17
    Registriert seit
    Oct 2003
    Beiträge
    172
    Funktionier immer noch nicht! so ein schei...

    Habe mir eine msgbox gebaut SQL sieht gut aus.
    Habe den Wert über Eingabe via Zelleninhalt gefüllt aber immer noch das gleiche Problem.

    wenn ich aber das SQL per SQL auf der AS400 laufen lasse und nur "+ Eingabe +" ersetze funktioniert es ohne Problem.

    Kann es sein das ein Left outer join oder mehrere Dateien per SQL via Query nicht funktioniert?

    Weil wenn ich es über QDY laufen lasse mit like ? funktioniert diese SQL auch, jetzt habe ich die Vermutung, dass es über QueryTables nicht funktioniert.
    Hast du schon mal mehrere Dateien über QueryTables eingebunden?

    Gruss
    Miles

  6. #18
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    Ich vermute das Problem ist die Double Pipe (||) diese ist nicht international. In manchen Umgebungen muss dafür ein doppeltes Ausrufezeichen gesetzt werden. Um dem Ganzen aus dem Weg zu gehen, versuch doch einfach mal || durch concat zu ersetzen.

    Code:
    E3NEXT like ('%' concat " + Eingabe + " concat '%')

    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

  7. #19
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Versuch's doch erst mal mit einem konstanten Wert anstatt der Variablen "Eingabe". Nur um zu sehen, dass die Abfrage überhaupt funktioniert.

    Was kommt denn genau für ein Fehler? Was sagt das Joblog des ODBC-Jobs (QZDASOINIT)?

    Natürlich funktioniert das SQL mit mehreren Dateien und Joins. Du kannst die komplexesten SQLs ausführen.

    Kannst Du das SQL-Statement mal posten?

    Gruß,
    KM

  8. #20
    Registriert seit
    Oct 2003
    Beiträge
    172
    QZDASOINIT wird noch nicht mal aufgebaut bei diesem SQL:
    sqlstring = "SELECT * FROM G72GDEDSD/ENT04P b, G72GDEDSD/ENT03P a left outer join G72GDEDSD/ENT01P c on E3SIT=E1SIT and E3DEP=E1DEP and E3NENP =E1NENP, G72GDEDSD/ENT02P d WHERE E1NENT = E2NENT and E1SIT = E2SIT and E1DEP = E2DEP and E1BCHE = E2BCHE and E3SIT=E4SIT and E3DEP=E4DEP and E3NENP = E4NENP and E3SIT= 'FF' and E3DEP ='LEICA'and E3NEXT like ('%'||" + Eingabe + "||'%')"

    Bei diesem SQL was funktioniert wir auch ein QZDASOINIT aufgebaut.

    SELECT * FROM G72GDEDSD.Ent03P WHERE E3SIT= 'FF' and E3DEP ='LEICA' and E3NEXT like ('%'||" + Eingabe + "||'%')

    Hier funktinoiert auch das Like ohne Probleme.

  9. #21
    KM is offline [professional_User]
    Registriert seit
    Apr 2003
    Beiträge
    1.012
    Bei Deinem ersten SQL hast Du als Trennzeichen das "/" zwischen Bibliothek und Datei. Beim zweiten SQL verwendest Du die SQL-Notation "."

    Versuche es beim ersten auch mal mit "."

    Außerdem solltest Du Dir wirklich den "concat" verwenden, anstatt die Pipes.

    Gruß,
    KM

  10. #22
    Registriert seit
    Aug 2001
    Beiträge
    2.928
    ... außerdem ist die JOIN syntax nicht korrekt:

    Richtig ist:
    Code:
    From Datei1 ????? Join Datei2 on ...
                ????? Join Datei3 on ...
                ????? Join Detei N on ...
    Die Fragezeichen stehen für jede beliebige Join-Art (INNER, LEFT, RIGHT OUTER, CROSS, FULL, EXCEPTION, RIGHT EXCEPTION) die Punkte für die Verknüpfung der Schlüssel-Felder

    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

  11. #23
    Registriert seit
    Oct 2003
    Beiträge
    172
    Fehler gefunden!!!!!!!

    DANKE KM

    Fehlerursache = "/" mit "." funktioniert dies ohne Probleme!!!!!!!

  12. #24
    Registriert seit
    Oct 2003
    Beiträge
    172
    Wieso soll mein SQL falsch sein Birgitta?
    Ist doch richtig auf gebaut, funktioniert jetzt auch nach dem ich die "/" gegen den "." ausgetauscht habe.

    Danke noch mal an ALLE!!!!

Similar Threads

  1. Problem mit Java-Methoden Aufruf aus ILE RPG?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 8
    Letzter Beitrag: 10-01-07, 10:58
  2. Problem mit Steuerzeichen in Datenbank?
    By Stoeberl in forum NEWSboard Programmierung
    Antworten: 11
    Letzter Beitrag: 26-10-06, 10:07
  3. Authorization Problem nach ändern der Primary Group
    By ChrisX in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 11-10-06, 15:31
  4. Merkwürdiges Problem in VRPG
    By Flappes in forum IBM i Hauptforum
    Antworten: 0
    Letzter Beitrag: 06-10-06, 08:39
  5. IPDS Drucker Problem
    By KL_RPG in forum NEWSboard Drucker
    Antworten: 5
    Letzter Beitrag: 12-05-06, 15:07

Berechtigungen

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