View Full Version : QZDASOINIT
Hallo *all
Kann mir jemand sagen was ich einstellen muß, damit die QZDASOINIT job's (ODBC zugriffe aus ACCESS)
sich nach Beendigung des Lesezugriffs gleich wieder beenden ?
(und was das für Auswirkungen hat)
Danke
Robi
Einstellen kann man da gar nichts !
Einzig und allein der ODBC-Zugriff steuert den AS/400-Job:
Connect: Starten des Job's (bzw. verwenden eines freien Job's)
Disconnect: Freigeben des Job's
Wenn du also nach dem Lesezugriff die ODBC-Verbindung wieder trennst, werden auch die Job-Resourcen, ggf. noch offene ODP's geschlossen.
Was das für Auswirkungen hat, kannst du leicht selbst feststellen, da ja nach jedem Lesezugriff deinerseits die Verbindung wieder getrennt und für den nächsten Zugriff wiederhergestellt werden muss.
Welchen Vorteil soll das denn dann noch haben ?
Vielen Dank für die Info,
Bei uns greift der Kunde mit eigenen Programmen (ACCESS) auf unsere Dateien zu (nur lesen).
Bei einem Releaseupdate von uns sind, obwohl lt. Kunde niemand mit der Anwendung arbeitet, div Dateien im Zugriff. (eben von diesen qzdasoinit Job's)
ich suche nun nach einem Vorschlag dies zu verhindern.
Vielleicht fehlt ja in den ACCESS Pgmmen der disconect !?
Ich werde das prüfen lassen
Danke
Robi
In ACCESS wird häufig nur mit "verknüpften Tabellen" gearbeitet. D.h., dass der Anwender keine Möglichkeit hat, die Verbindung zu unterbrechen, ausser dem Beenden der ACCESS-Anwendung.
Wenn du nur temporär den ODBC-Zugriff verhindern willst, dann probiers mit:
ENDHOSTSVR SERVER(*DATABASE)
:
Durchführen der Arbeiten
:
STRHOSTSVR SERVER(*DATABASE)
Mittels ALCOBJ kannst du prüfen, ob noch Zugriffe auf benötigte Objekte bestehen (DLCOBJ nicht vergessen).
Hmm,
Wenn du nur temporär den ODBC-Zugriff verhindern willst, dann probiers mit:
ENDHOSTSVR SERVER(*DATABASE)
?? geht das 'problemlos=schadfrei ' auch wenn noch zugriffe 'aktiv' sind ?
Durchführen der Arbeiten
STRHOSTSVR SERVER(*DATABASE)
Mittels ALCOBJ kannst du prüfen, ob noch Zugriffe auf benötigte
Objekte bestehen (DLCOBJ nicht vergessen).
Alcobj ist schon klar, machen wir z.zt. auch aber selbst das abschießen der QZDASOINIT Jobs dauert echt lange.
(60 Jobs, 6-8 Minuten )
Gibt es einen 'Programmierfehler, den man machen kann um selbst nach Beendigen der ACCESS Anwendung noch QZDASOINIT Jobs zu haben ?
(angeblich sind die Anwendungen beendet)
Hallo Robi,
die Diskussion, ob man das falsch programmieren kann ist akademisch, wenn Du sicher sein willst, dass die ODBC Schnittstelle nicht aktiv ist, musst Du den Server Dienst der Datenbank beenden, wie Baldur Dir das vorgeschlagen hat. Passieren kann da bei den Lesezugriffen nix schlimmes, ausser dass eben nicht gelesen werden kann.
Dieter Bender
Die Job's selber sind natürlich noch da, da es Prestart-Job's sind.
Schau dir die Subsystembeschreibung des QSERVER mit Auswahl 10 an.
Mittels ENDJOB sollten diese Job's NICHT beendet werden sondern ausschließlich mittels ENDHOSTSVR !
Mittels ENDJOB kann man zwar einen solchen Job killen, aber das automatische Neustarten (bei einer neuen ODBC-Anforderung) nicht verhindern.
ENDHOSTSVR SERVER(*DATABASE) ENDACTCNN(*DATABASE)
beendet auch aktive Verbindungen (welche Konsequenzen das auf die Anwendungen hat ..... ?)
Anmerkung:
Der Dienst *DTAQ kann auch auf benötigte Objekte zugreifen (falls in der Anwendung verwendet).