Anmelden

View Full Version : [JDBC] Locking/PerformanceProblem



LoCal
20-07-05, 13:51
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

BenderD
22-07-05, 10:15
Hallo,

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

mfg

Dieter Bender


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