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

Hybrid View

  1. #1
    Registriert seit
    Jul 2010
    Beiträge
    59

    Java-Fehlermeldung: Descriptor index not valid.

    Hallo

    Seit ca. zwei Monaten übertrage ich für eine Schnittstelle den Inhalt einer Textdatei in eine Datei auf AS400, die nur aus EINEM Feld besteht, um diese Daten dort weiterzuverarbeiten.

    Obwohl beide Seiten beteuern, nichts am Programm geändert zu haben, kommt seit Dienstag voriger Woche folgende Fehlermeldung:
    Descriptor index not valid.

    Ein konkreter Datensatz hat z.b. folgenden Inhalt:
    AU0000289369002013061800160801SAM GmbH., Best.Nr.: 70047867 an Produktion übergeben KB Hr. Mosshammer Martin 20130619 2000 03000140400 Grundner Klaus nicht def. 00000000 0662/6588

    Ich weiß mir keinen Rat mehr. Vor allem finde ich nicht schlüssig heraus, was die Fehlermeldung in diesem Zusammenhang wohl besagt

    Vielen Dank im Voraus für eure Hilfe.

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Dazu wäre die Codezeile, bei dem der Fehler auftritt nicht unwichtig.
    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. #3
    Registriert seit
    Jan 2001
    Beiträge
    850
    Hallo,

    eine Beschreibung wie Du die Daten importierst wäre
    auch hilfreich.

    Gruß
    Michael

  4. #4
    Registriert seit
    Jul 2010
    Beiträge
    59
    Auf die simpelste Weise erfolgt der Import:

    Textdatei Zeile für Zeile durchlesen
    --------------

    // Datei mit dem betreffenden Namen Zeile für Zeile
    // lesen den Inhalt jeder Zeile mit
    // writeAS400ToDB(Zeileninhalt) verarbeiten
    // Open the file for reading
    PreparedStatement insert = null;
    BufferedReader br = null;
    try
    {
    br = new BufferedReader(new FileReader(file));
    insert = m_connection
    .prepareStatement(genInsertString(sTableName));
    String line;
    int lineNr = 1;
    while ((line = br.readLine()) != null)
    { // while loop begins here
    log.info(lineNr + ":" + line.trim());
    insert.setString(1, line.trim());
    insert.executeUpdate();
    lineNr++;
    } // end while
    // end try
    } catch (SQLException e)
    {
    log.error(e);
    } catch (IOException e)
    {
    log.error(e);
    } finally
    {
    try
    {
    if (br != null)
    {
    br.close();
    }
    if (insert != null)
    {
    insert.close();
    }
    } catch (Exception e)
    {
    log.error(e);
    }
    ------

    Insert-Anweisung generieren
    ------------
    public String genInsertString(String sTableName)
    {
    StringBuffer sb = new StringBuffer();
    sb.append("INSERT INTO ");
    sb.append(sTableName);
    sb.append(" (FELD) VALUES ('");
    sb.append("?");
    sb.append("')");
    String query = sb.toString();
    return query;
    }
    ---------

    Wie eine Zeile aussieht, habe ich ja vorhin gezeigt.
    Also überhaupt nichts "Aufregendes"

  5. #5
    Registriert seit
    Jan 2001
    Beiträge
    850
    HI,

    da müssen aber noch weitere Fehlerhinweise vorhanden sein.
    Java protokolliert wo die Exception stattgefunden hat.

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... 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/

  7. #7
    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

  8. #8
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  9. #9
    Registriert seit
    Jan 2001
    Beiträge
    850
    HI,

    warum eigenmtlich ein Javaprogramm.

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

  10. #10
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

  11. #11
    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.

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    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

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, 13:48
  2. Antworten: 3
    Letzter Beitrag: 06-06-06, 15:57
  3. Bender ich rufe dich Cursor state not valid
    By Deficiency in forum NEWSboard Java
    Antworten: 0
    Letzter Beitrag: 01-12-05, 12:40
  4. Antworten: 8
    Letzter Beitrag: 13-12-04, 11:01
  5. Java Fehlermeldung
    By mk in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 10-07-04, 14:09

Berechtigungen

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