[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Oct 2002
    Beiträge
    46

    [JDBC] Locking/PerformanceProblem

    Hallo,

    ich habe hier ein "kleines" Problem.

    Ich muss Daten in eine Tabelle (Tab1) eintragen, diese Daten müssen aber durch einen fortlaufenden Wert aus einer anderen Tabelle (Tab2) ergänzt werden, diese Tabelle befindet sich aber auch im Zugriff von anderen (RPG-)Programmen.

    Ablauf ist also wie folgt.

    - Lese Satz aus Datei
    - Bereite Daten für Insert in Tab1 auf
    - Hole laufende Nummer aus Tab2
    - Update Tab2 mit laufende Nummer + 1
    - Schreibe Daten in Tab 1

    Das ganze wird gemacht bis alles Sätze aus der Datei eingestellt sind. Die Anzahl der Sätze schwankt zwischen 5000 und 20000.
    Nun habe ich das Problem, dass wenn ich die Verbindung für Tab2 offen halte, RPG-Programme auf MSGW laufen, weil die Tabelle gesperrt ist. Also probierte ich es auf die Weise, dass ich erst für den Update für Tab2 die DB-Verbindung aufbaue und dann nach dem Update wieder trenne. Performancemäßig sehr schlecht, aber wenigstens wurde der Betrieb nicht gestört... aber heute stellte sich dann ein zweites, viel grösseres Manko heraus: Die Maschine wird mit Datenbankserverjobs (QZDASOINIT) zu gemüllt.

    Kennt jemand vll eine Lösung?

    Danke schonmal.

    Gruß,

    LoCal

  2. #2
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo,

    sieht nach inkorrekten Treiber Einstellungen und falschem (fehlendem) Commit Handling aus.

    mfg

    Dieter Bender

    Zitat Zitat von LoCal
    Hallo,

    ich habe hier ein "kleines" Problem.

    Ich muss Daten in eine Tabelle (Tab1) eintragen, diese Daten müssen aber durch einen fortlaufenden Wert aus einer anderen Tabelle (Tab2) ergänzt werden, diese Tabelle befindet sich aber auch im Zugriff von anderen (RPG-)Programmen.

    Ablauf ist also wie folgt.

    - Lese Satz aus Datei
    - Bereite Daten für Insert in Tab1 auf
    - Hole laufende Nummer aus Tab2
    - Update Tab2 mit laufende Nummer + 1
    - Schreibe Daten in Tab 1

    Das ganze wird gemacht bis alles Sätze aus der Datei eingestellt sind. Die Anzahl der Sätze schwankt zwischen 5000 und 20000.
    Nun habe ich das Problem, dass wenn ich die Verbindung für Tab2 offen halte, RPG-Programme auf MSGW laufen, weil die Tabelle gesperrt ist. Also probierte ich es auf die Weise, dass ich erst für den Update für Tab2 die DB-Verbindung aufbaue und dann nach dem Update wieder trenne. Performancemäßig sehr schlecht, aber wenigstens wurde der Betrieb nicht gestört... aber heute stellte sich dann ein zweites, viel grösseres Manko heraus: Die Maschine wird mit Datenbankserverjobs (QZDASOINIT) zu gemüllt.

    Kennt jemand vll eine Lösung?

    Danke schonmal.

    Gruß,

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

Berechtigungen

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