PDA

View Full Version : SQL-Package - Objektart *SQLPKG



schreibr
06-08-01, 08:17
Hallo Newsboarder !
Ich werde gerade mit einer Frage konfrontiert bezüglich SQL - Packages, die ich nicht so auf Anhieb beantworten kann. Was sind SQL - Packages, für was sind diese gut, wann werden diese erstellt und kann man diese gefahrlos löschen ?
Gruss Reinhold

Fuerchau
06-08-01, 09:22
SQLPKG's enthalten die SQL-Befehle einer Anwendung und werden in den meisten Fällen automatisch erstellt.

Stärkere Verwendung finden diese bei ODBC-Zugriffen via ClientAccess. Der ODBC-Treiber erstellt diese SQLPKG's in der QGPL um häufig wiederkehrende SQL-Befehle entsprechend schneller aufzurufen und auszuführen. Den Namen und die Lib kann man auf einer der Registerkarten des ODBC-Treibers sogar fest einstellen (nicht empfehlenswert!).

Den Inhalt eines SQLPKG'S kann man mit PRTSQLINF ausgeben.

Die 2. Variante zum Erstellen ist CRTSQLPKG. In diesem Fall werden die SQL-Befehle eines Programmes in ein SQLPKG ausgegeben. Dies macht nur Sinn, wenn man eine SQL-Anwendung hat, die über Remote-DB auf eine andere AS/400 oder kompatible RDB (siehe WRKRDBDIRE) zugreifen will. In diesem Fall wird das SQLPKG auf dem Zielsystem benötigt, da die SQL-Befehle im Format des Zielsystems vorhanden sein müssen. Daher muss im CRTSQLPKG die RemoteDB angegeben werden um dann direkt dort die gültigen SQL-Befehle abzulegen.

Zum Vergleich: Die SQL-Syntax von MS/Access bzw. MS/Query ist leicht anders als die der AS/400. Deshalb erzeugt der ODBC-Treiber ein SQL-Package um die Syntax zu überprüfen und den Befehl zu erstellen (bekannt als präparieren bzw. im ADO-Modell als Query-Objekt.Prepare=true).