[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Aug 2007
    Beiträge
    4

    jt400 SQL-Update

    Hallo,
    ich habe ein Javaprogramm, welches auf mehrere Tabellen SQL-Updates ausführt. Bei den meisten Tabellen funktioniert folgendes Codebeispiel auch. Bei einigen Dateien jedoch bleibt das Programm ohne Fehlermeldung hängen. Auf der i5 ist dann eine Dateisperre auf der Datei. Das Problem tritt nur bei Dateien in bestimmten Bibliotheken auf. Hat vielleicht jemand eine Idee voran das liegen könnte?
    Code:
    try {
                Class.forName("com.ibm.as400.access.AS400JDBCDriver");
                con = DriverManager.getConnection(sURL, sUser, sPass);
                stmt = con.prepareStatement(sSQL);
                iUpdateCount = stmt.executeUpdate();
                if (iUpdateCount < 1) {
                    uebersetzerErrorBox.setErrorMessage("Fehler: Keine Datensätze aktualisiert.\nSQL-Update: " + sSQL);
                    uebersetzerErrorBox.setVisible(true);
                }
                stmt.close();
                con.close();
            } catch (ClassNotFoundException e) {
                uebersetzerErrorBox.setErrorMessage("Message: " + e.getMessage() + "\nExecption: " + e.getException() + "\nCause: " + e.getCause()); 
                uebersetzerErrorBox.setVisible(true);
            } catch (SQLException e) {
                uebersetzerErrorBox.setErrorMessage("Message: " + e.getMessage() + "\nErrorCode: " + e.getErrorCode() + "\nCause: " + e.getCause()); 
                uebersetzerErrorBox.setVisible(true);
            }

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Das liegt ggf. am Connection-Pooling.
    Solange dein Java-Programm noch aktiv ist, wird ein Close der Verbindung nicht durchgeführt sondern diese in den Pool gestellt.
    Da die AS/400 Dateien ggf. offen hält (ODP's), bleibt die Datei eben im Zugriff (Shared-Sperre).
    Wenn du die Sperre explizit freigeben willst, musst du die Verbindung so schließen, dass diese nicht in den Pool zurückgeht. Ggf. ist das Pooling (mit leichten Performance-Nachteilen) auszuschließen.
    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
    Apr 2005
    Beiträge
    385
    Könnte es sein, das du versucht auf einer VIEW ein update zu machen?
    Auf einer VIEW geht kein update.

    Ich würde dir auch raten, die close statements in den catch-Block mit einzubauen.

Similar Threads

  1. SQL Update aus zwei Dateien mit 3 Schlüsselfeldern
    By mk in forum NEWSboard Programmierung
    Antworten: 13
    Letzter Beitrag: 13-07-12, 08:53
  2. update per sql
    By steven_r in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 25-09-06, 08:22
  3. Update Syntax SQL
    By wuwu in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-07-06, 15:31
  4. SQL UPDATE, verknüpfung zweier Dateien
    By desti82 in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 04-07-06, 15:25
  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
  •