[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Mar 2002
    Beiträge
    5.385
    ... verwende mal Parameter Markers, der String könnte Dein SQL Statement kaputt machen (der sogenannte O'Hara Effekt).

    D*B
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  2. #2
    Registriert seit
    Jul 2010
    Beiträge
    59
    Ich verwendet Parameter -Markers

    Und was mich so irritiert. An der Klasse wurde nichts geändert?!?!

    try
    {
    br = new BufferedReader(new FileReader(file));
    log.info(lineNr + ":" + line.trim());
    ...
    insert.setString(1, line.trim());
    insert.executeUpdate();
    ...
    lineNr++;
    } // end while
    // end try

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.765
    An der Klasse muss was geändert worden sein:

    sb.append(" (FELD) VALUES ('");
    sb.append("?");
    sb.append("')");

    Parametermarker in Hochkomma ist eine Konstante!!!!

    sb.append(" (FELD) VALUES (?)");

    wäre korrekt.
    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
    Jan 2001
    Beiträge
    851
    HI,

    warum eigenmtlich ein Javaprogramm.

    Ein CPYFRMIMPF würde vielleicht auch funktionieren.
    Gruß
    Michael

  5. #5
    Registriert seit
    Feb 2001
    Beiträge
    20.765
    In diesem Fall: nicht nur vielleicht .
    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
    Jul 2010
    Beiträge
    59
    Das sollte eigentlich die Erklärung sein, da macht auch die Fehler-Meldung irgendwie Sinn.
    Seltsamerweise funktioniert es noch nicht, aber ich bleibe dran. Ich denke, es ist der Ansatz zur Lösung.

  7. #7
    Registriert seit
    Feb 2001
    Beiträge
    20.765
    Warum eigentlich so komplziert?

    public String genInsertString(String sTableName)
    {
    return "insert into " + sTableName + " (FELD) VALUES(?)";
    }

    Performance spielt hier keine Rolle.
    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

  8. #8
    Registriert seit
    Jul 2010
    Beiträge
    59
    Mit
    "insert into " + sTableName + " (FELD) VALUES(?)"
    funktioniert es nun.

    Mysteriös bleibt es aber dennoch.
    Denn an demselben Server läuft eine weitere Anwendung noch mit dem Prepared-Statement.
    Nur diese funktioniert seit Dienstag nicht mehr.

    Danke für viele Unterstützung

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.765
    Dazu müsste man auch dieses Statement kennen.

    Die häufigste Ursache für Fehler ist die fehlende Verwendung von Parametermarkern und Zeichenketten.
    Da diese ja in Hochkomma eingebettet werden, müssen enthaltene Hochkommata verdoppelt werden!
    Dies wird gerne vergessen.

    Ein weiteres Problem ist Unicode.
    Java (und viele andere) arbeiten bei Strings grundsätzlich in Unicode.
    Da ein SQL-Commandtext meist in Singlebyte umgewandelt wird, gehen Unicodeinformationen verloren bzw. führen bei der Ausführung im Falle von nicht umsetzbaren Sonderzeichen zu Fehlerausnahmen.
    Bei neueren Releasen gibt es in den Verbindungsoptionen auch die Möglichkeit Unicode-SQL's abzugeben, dies muss aber explizit gesetzt werden.
    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

Similar Threads

  1. Java und Fehlermeldung jva0122 bei simplen "Hello World"
    By TARASIK in forum IBM i Hauptforum
    Antworten: 21
    Letzter Beitrag: 30-03-11, 14:48
  2. Antworten: 3
    Letzter Beitrag: 06-06-06, 16:57
  3. Bender ich rufe dich Cursor state not valid
    By Deficiency in forum NEWSboard Java
    Antworten: 0
    Letzter Beitrag: 01-12-05, 13:40
  4. Antworten: 8
    Letzter Beitrag: 13-12-04, 12:01
  5. Java Fehlermeldung
    By mk in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 10-07-04, 15:09

Berechtigungen

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