View Full Version : SQL-Befehle abspeichern
Hallo zusammen,
Wenn ich nach dem Aufruf STRSQL in der Befehlzeile einen SQL-Befehl eingetippt habe und gehe dann mit Ausw. 4 aus SQL heraus, wird doch der Befehl in der Quellendatei QGPL/SQLSESS gespeichert.
Durch einen Systemwechsel sind nun alle jemals eingetippten Befehle bei mir weg. Ich möchte nun auf die Sicherungsdatei zurückgreifen. Weiss jemand den Befehl fürs zurückspeichern?
VG W. Wagner
Leider sind die Befehle nicht wiederherstellbar, wenn du sie nicht vorher per F13 in eine Quelle gespeichert hast.
Die SQL's werden schon länger in einem internen USRSPC, der am USRPRF hängt gespeichert.
Wenn du noch zugriff auf das alte System hast, speichere dann dort deine Befehle in einer SRCPF.
Siehe hier: http://newsolutions.de/forum-systemi-as400-i5-iseries/newsboard-programmierung/13469-zugriff-auf-sql-sitzungsprotokolle-aller-sitzungen.html
Dazu braucht man allerdings die QRECOVERY des alten Systems.
Diese Lib lässt sich auch nicht wiederherstellen (meines Wissens nach).
Hallo zusammen,
Ja, ich hab in der QGPL der alten Maschine eine QSQLSESS Typ PF-SRC. Ich dachte nun, dass ich die sichern und mit RSTOBJ oder sowas auf dem neuen System zurückspeichern kann.
VG Wolfgang Wagner
Hi,
Pack doch die Datei einfach in eine Savefile
(SAVOBJ) und übertrage die Savefile auf das neue System
(SNDNETF / FTP / SAVRSTOBJ)
Dann kannst du da die Savefile entpacken und hast das Objekt.
Nur ich würde nicht in QGPL zurückspeichern sondern lieber eine eigene bibliothek für sowas haben ;) dann kommt die beim nächsten Upgrade / Maschinenwechsel automatisch mit.
Gruß
Rince
Wenns nur ums Sichern und Zurückspeichern geht, dann sollte das so gehen:
Auf dem alten System:
SAVOBJ OBJ(QSQLSESS) LIB(QGPL) DEV(TAPxx) OBJTYPE(*FILE)
Auf dem neuen System:
RSTOBJ OBJ(QSQLSESS) SAVLIB(QGPL) DEV(TAPxx) OBJTYPE(*FILE) MBROPT(*ALL) RSTLIB(Bibliothek)
Wenn beide Maschinen per Netzwerk miteinander verbunden sind, gehts auch so:
(1) Datei QSQLSESS in Bibliothek QGPL auf der neuen Maschine anlegen (am besten aus STRSQL heraus)
(2) ftp von der alten zur neuen Maschine
(3) put qgpl/qsqlsess.qsqlsess qgpl/sqlsess.qsqlsess
Danke für die Tipps.
Ich habe auf der neuen Maschine die gesicherte QSQLSESS/QGPL drauf. Wenn ich jetzt aber STRSQL aufrufe bleibt die Anzeige "SQL-Anweisungen eingeben" leer und es stehen nicht wie erhofft die alten gesicherten Befehle wieder drin. (z.B. um dann mit FT9 einen SQL-Befehl zu wiederholen)
VG W. Wagner
Die SQL-Befehle, die man mit F9 auffinden kann, legt STRSQL in internen Objekten in Bibliothek QRECOVERY ab. Diese kann man nur herausschreiben (in Datei QSQLSESS), aber nicht von dieser wieder einlesen.
Wieviele dieser SQL-Anweisungen brauchst du denn? Vielleicht kannst du die benötigten Zeilen nach und nach aus der Datei QSQLSESS herauskopieren und im Eingabebereich von STRSQL einsetzen?