[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2006
    Beiträge
    129

    Löschen von Datensätzen per Java in DB2

    Hallo @all,

    ich habe ein Java PGM das von der AS400 auf einen SQL Server schreibt, das funktioniert auch super.

    Nun soll ich aber jeden Satz den ich auf den SQL Server schreibe auf der AS400 löschen, geht auch bei kleineren Tabellen, bei größeren bekomme ich eine folgende Meldung (Limit on number of statements exceeded.) ist mir auch klar, ich darf nur 9999 Statements absezten.

    Ich habe aber teilweise Tabellen mit mehreren 10000 Sätzen, wie kann ich das relativ schnell (systemseitig) lösen.

    Gibt es eine möglichkeit das ich den Satz den ich im zugriff habe mit rs.next nach der Verarbeitung lösche?

    Danke im voraus.
    Steven_r

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Hier hilft nur ein Prepared-Statement mit Parametermarkern "delete from mylib.mytable where key=?", das du ganz einfach dann immer wieder ausführst.
    Ein ständiges Zusammenbauen mit Strings ist auch eher unperformant.

    Das würde ich dir übrigens auch für die Insert's empfehlen.

    PS:
    Beachte noch die Commit-Einstellung in der AS/400-Verbindung, der Default ist nämlich *CHG. Beim Select macht das ja noch nichts, beim Delete bekommst du aber eine Excepten, wenn deine PF nicht journalisiert ist.
    Wenn du mit einem Journal arbeitest, kannst du dich für AutoCommit (extrem langsam) oder Transaktionen entscheiden.

    Delete würde ich auch nicht empfehlen, sondern eher ein Verarbeitungs-KZ.
    Der SQL-Server ist nämlich nicht so sicher.
    Was machst du nämlich, wenn die Daten weg sind ?
    Bei Delete ist eine Wiederholung nicht möglich, es sei denn, die Daten können aus anderen Quellen wiederhergestellt 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

  3. #3
    Registriert seit
    May 2006
    Beiträge
    129
    Danke für die rasche Antwort, aber wenn ich das jedesmal absetze bekomme ich ja diese Meldung mit den maximalen Statements.

    lg
    Steven_r

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.695
    Dann poste mal deinen Code (bevor ich das glaube).
    Vielleicht erstellst du doch immer neue Statements und der gc kommt nicht dazu, die Ressourcen freizugeben ?
    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. Dateien in QDLS bzw. IFS über Explorer löschen
    By dino in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 22-05-06, 18:59
  2. Java ... JDBC ... Zugriff DB2 - Port iSeries ???
    By bode in forum NEWSboard Java
    Antworten: 7
    Letzter Beitrag: 02-09-05, 15:09
  3. Antworten: 9
    Letzter Beitrag: 14-07-05, 16:35
  4. Performanceprobleme mit Access <--> DB2 per ODBC
    By Rico in forum IBM i Hauptforum
    Antworten: 9
    Letzter Beitrag: 03-05-05, 17:16
  5. per SQL aus ILE COBOL in DB2 schreiben?
    By rebe in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 24-03-05, 14:36

Berechtigungen

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