Bei pureQuery Runtime können Sie mit Paketobjektgruppen und Paketversionen DB2-Pakete verwalten, wenn eine Anwendung, die für die pureQuery-Clientoptimierung aktiviert ist, SQL-Anweisungen für eine DB2-Datenbank statisch ausführt.
Im pureQuery-Clientoptimierungsprozess erstellt der Bindeschritt DB2-Pakete auf dem Datenbankserver. Ein DB2-Paket speichert SQL-Informationen, die für die statische Ausführung einer Anwendung auf einem DB2-Server erforderlich sind. Eine Gruppe mit mindestens einem Paket für eine DB2-Datenbank enthält die SQL-Anweisungen, die von der Anwendung ausgeführt werden.
pureQuery Runtime ordnet Pakete den SQL-Anweisungen in der pureQueryXML-Datei zu, die von der für die pureQuery-Clientoptimierung aktivierten Anwendung verwendet wird. Der Bindeprozess führt zudem die folgenden Tasks aus:
- Sicherheitsanforderungen ermitteln
- Vorhandensein von Datenbankobjekten prüfen
- Zugriffspfadauswahl, Indexverwendung und Reihenfolge der Tabellenverknüpfungen ermitteln
- Ermitteln, ob Abfragen neu geschrieben werden müssen
- Ermitteln, ob Arbeitsdateien erforderlich sind
- Auswerten, ob Parallelität verwendet werden kann
Durch die entsprechende Einstellung der Optionen des Dienstprogramms Configure und der BIND-Optionen sowie durch den ordnungsgemäßen Abgleich der pureQueryXML-Dateien können Sie flexible Implementierungen erzielen. Viele statische Anwendungen, die für verschiedene Zwecke verwendet werden, können in einer einzelnen Umgebung koexistieren. Beispiel:
- Eine einzelne Anwendung, die nicht qualifizierte Tabellennamen verwendet, kann im selben System für verschiedene Tabellengruppen ausgeführt werden.
- Mehrere Anwendungsinstanzen können für verschiedene Tabellengruppen gleichzeitig ausgeführt werden.
- Mehrere Versionen einer Produktionsanwendung können für dieselben Tabellen mit denselben Paketnamen, aber unterschiedlichen Paketversionen ausgeführt werden.
Wichtig: Wenn die SQL-Anweisungen Ihrer Anwendung mithilfe von dreiteiligen Tabellennamen auf mehrere Positionen verweisen, müssen Sie das Paket für alle verwiesenen Positionen binden.
Paketobjektgruppen
Sie können für die DB2-Datenbank eine Objektgruppe von Paketen erstellen, die ein benannter Satz von Paketen ist. Sie verwenden das pureQuery-Dienstprogramm Configure mit der Option -collection, um einen Objektgruppennamen für die SQL-Anweisungen in einer pureQueryXML-Datei anzugeben. Sie führen dann das pureQuery- Dienstprogramm StaticBinder für die konfigurierte pureQueryXML-Datei aus. Sie können das Dienstprogramm StaticBinder mit der Option -bindOptions "COLLECTION(Objektgruppenname)"
aufrufen, um die SQL-Anweisungen in der pureQueryXML-Datei zu mehreren Objektgruppen zu binden.
Paketversionen
Während des Bindeschritts des pureQuery-Clientoptimierungsprozesses besteht die Standardbindeaktion darin, ein vorhandenes Paket zu ersetzen. Das neue Paket wird mit denselben drei Paket-IDs gebunden: Position, Objektgruppen-ID und Paketname.
Während einer Bindeoperation ist ein Paket an der Zielserverposition mit denselben Angaben für Position, Objektgruppen-ID und Paketname vorhanden. Vorherige Pakete werden entfernt. Lediglich das neue Paket ist mit dem aktualisierten Konsistenztoken ist vorhanden. Nach dieser Aktion können vorherige Versionen der Anwendung (was für die pureQuery-Clientoptimierung eine vorherige Version einer pureQueryXML-Datei bedeutet) mit einem anderen Konsistenztoken nicht ausgeführt werden.
Sie können mit der Option -pkgVersion bei der Ausführung des Dienstprogramms Configure angeben, dass mehrere Versionen gleichzeitig in einem System vorhanden sein können, ohne dass die Anwendung die Logik für jede Version bereitstellt. Die Angabe der Option -pkgVersion erstellt eine Kopie der pureQueryXML-Datei, wobei ein Versionstag an den Dateinamen angehängt wird. Bei jedem Aufruf von Configure mit der Option -pkgVersion wird ein neues Konsistenztoken generiert und eine Kopie der Datei mit diesem Konsistenztoken gespeichert.
Anmerkung: Die Informationen zur Versionszeichenfolge werden von der Anwendung oder von pureQuery Runtime nie zum Suchen des übereinstimmenden Pakets verwendet. Die Versionsinformation werden nur zum Verwalten der Anzahl Pakete auf einem Server und zum Ermöglichen mehrerer Konsistenztoken für die Anwendung verwendet.
Wenn Sie mehrere Versionen von Paketen während der Ausführung verwenden, müssen Sie separate pureQueryXML-Dateien zum Aufrufen verschiedener Paketversionen verwalten. Sie müssen sicherstellen, dass die Anwendung, die für die pureQuery-Clientoptimierung aktiviert ist, die richtige pureQueryXML-Datei zum Ausführen der richtigen Paketversion auf dem Datenbankserver verwendet.