Mithilfe der Workbench die statische Ausführung von SQL-Anweisungen in Nicht-pureQuery-API-Anwendungen konfigurieren

Die Workbench stellt Funktionen für das Erfassen und Binden von SQL-Anweisungen in einer Nicht-pureQuery-API-Anwendung sowie für das statische Ausführen dieser Anweisungen bereit, wenn Sie diese Anwendung ausführen.

Vorbereitende Schritte

Stellen Sie sicher, dass Ihr System die Hardware- und Softwarevoraussetzungen erfüllt. Siehe Systemvoraussetzungen für InfoSphere Optim pureQuery Runtime.

Die Anwendung muss sich in einem Java-Projekt in der Workbench befinden.

Bevor Sie eine Bindeoperation ausführen, müssen Sie sicherstellen, dass die folgenden Voraussetzungen erfüllt sind.
  • Die Gruppe der Zugriffsrechte des Benutzers, der das pureQuery-Dienstprogramm StaticBinder aufruft, muss eine der folgenden Berechtigungen enthalten:
    • Berechtigung SYSADM
    • Berechtigung DBADM
    • Wenn das Paket nicht vorhanden ist, das Zugriffsrecht BINDADD und eines der folgenden Zugriffsrechte:
      • Zugriffsrecht CREATEIN
      • DB2 for z/OS: Berechtigung PACKADM für die Objektgruppe oder für alle Objektgruppen
      • DB2 Database for Linux, UNIX, and Windows: Berechtigung IMPLICIT_SCHEMA für die Datenbank, wenn der Schemaname des Pakets nicht vorhanden ist
    • DB2 for z/OS: Wenn das Paket vorhanden ist, das Zugriffsrecht BIND für das Paket
    • DB2 Database for Linux, UNIX, and Windows (wenn das Paket vorhanden ist):
      • Zugriffsrecht ALTERIN für das Schema
      • Zugriffsrecht BIND für das Paket
  • DB2 for Linux, UNIX, and Windows: Der Benutzer benötigt auch alle erforderlichen Zugriffsrechte, um beliebige statische SQL-Anweisungen in der Anwendung zu kompilieren. Zugriffsrechte, die Gruppen erteilt werden, werden nicht für die Berechtigungsprüfung von statischen Anweisungen verwendet. Wenn der Benutzer über die Berechtigung SYSADM verfügt, aber keine expliziten Zugriffsrechte für das Abschließen der Bindung hat, erteilt der DB2-Datenbankmanager automatisch die explizite Berechtigung DBADM.
Sie können ein in einer Datenbank erstelltes SQL-Verwaltungsrepository für die folgenden Aktivitäten verwenden, wenn Sie pureQuery Runtime für die statische Ausführung in Nicht-pureQuery-API-Anwendungen verwenden:
  • Speichern der von der pureQuery-Clientoptimierung erfassten SQL-Anweisungen und der zugehörigen Informationen.
  • Speichern und Verwalten von pureQuery-Laufzeitkonfigurationsinformationen und von pureQueryXML-Dateiinformationen.
  • Abrufen der pureQuery-Informationen für die Verwendung durch eine für die pureQuery-Clientoptimierung aktivierte Anwendung.

Vorgehensweise

Führen Sie die folgenden grundlegenden Schritte aus, um die statische Ausführung von SQL-Anweisungen in Nicht-pureQuery-API-Anwendungen zu konfigurieren:

  1. Aktivieren Sie pureQuery, um SQL-Anweisungen, die sich in Ihrer Anwendung befinden, zu erfassen und zu binden.
  2. Optional: Erstellen Sie JUnit-Tests für Ihre Nicht-pureQuery-API-Anwendung, die alle SQL-Anweisungen ausführen, die Sie erfassen wollen. Wenn Sie keine JUnit-Tests erstellen, müssen Sie die Anwendung ausführen, sodass sie alle SQL-Anweisungen ausführt, die Sie letztlich statisch ausführen wollen.

    Informationen zu JUnits in der Workbench finden Sie in JUnit-Tests schreiben und ausführen.

  3. Erfassen Sie die SQL-Anweisungen, die Sie statisch ausführen wollen.
    1. Geben Sie Werte für Eigenschaften an, die festlegen, wie pureQuery SQL-Anweisungen erfasst.
    2. Führen Sie die Anwendung oder die JUnit-Tests aus.
    Wenn Sie fertig sind, erstellt die Workbench in Ihrem Java-Projekt die von Ihnen angegebene pureQueryXML-Datei. Sie können diesen Schritt wiederholen, wenn Sie nicht alle SQL-Anweisungen in Ihrer Nicht-pureQuery-API-Anwendung erfasst haben und die verbleibenden SQL-Anweisungen erfassen wollen.
  4. Konfigurieren Sie die DB2-Pakete, die Sie aus den SQL-Anweisungen erstellen wollen.
    1. Bearbeiten Sie die Datei Default.genProps, indem Sie die Objektgruppe, die Stammnamen und die Versionen der DB2-Pakete angeben, die Sie erstellen wollen.
      Nachdem Sie die Datei gespeichert haben, aktualisieren Sie die Sicht 'SQL Outline', in der angezeigt wird, wie Ihre DB2-Pakete mit den von Ihnen angegebenen Werten aussehen. Eine Erläuterung dieser Sicht finden Sie in Sicht 'SQL Outline'.
    2. Optional: Bearbeiten Sie Ihre pureQueryXML-Dateien oder führen Sie sie zusammen.
      Diese Dateien enthalten Gruppen von SQL-Anweisungen. Die DB2-Pakete, die Sie aus den Anweisungen erstellen, basieren auf diesen Gruppen. Sie können die Namen von Anweisungsgruppen ändern, Anweisungen in andere Gruppen versetzen, alternative Anweisungen hinzufügen und Anweisungen löschen. Sie können pureQueryXML-Dateien auch zusammenführen.
  5. Erstellen Sie die DB2-Pakete.
    1. Bearbeiten Sie die Datei Default.bindProps, indem Sie über die Angabe von Optionen festlegen, wie das Dienstprogramm StaticBinder erfasste SQL-Anweisungen in DB2-Paketen bindet.
    2. Binden Sie die erfassten SQL-Anweisungen in Paketen, indem Sie einen der folgenden Schritte ausführen:
      • Klicken Sie mit der rechten Maustaste auf die einzelnen pureQueryXML-Dateien im Ordner dataAccessFolder und wählen Sie Binden aus.
      • Klicken Sie mit der rechten Maustaste auf den Projektordner und wählen Sie Datenzugriffsentwicklung > Anwendung binden aus. Mit dieser Methode können Sie die SQL in allen Ihrer pureQueryXML-Dateien gleichzeitig binden.
      Das Fenster Verbindung auswählen wird angezeigt, in dem Sie die DB2-Datenbank auswählen können, die Sie verwenden wollen. Sie können eine Datenbank auswählen, die Ihrem Java-Projekt nicht zugeordnet ist.
      Achtung: Sie können keine Bindeoperation ausführen, wenn Sie offline arbeiten. Sie müssen mit der DB2-Datenbank verbunden sein, für die Sie eine Bindung ausführen wollen.

      Wenn Sie nach diesem Schritt weitere SQL-Anweisungen in den pureQueryXML-Dateien erfassen, müssen Sie die Bindeoperation für diese Dateien erneut ausführen.

    3. Zeigen Sie die DB2-Pakete und die darin enthaltenen SQL-Anweisungen an.
      Wählen Sie den Projektordner aus und prüfen Sie die Seite SQL in der Sicht SQL Outline, um sicherzustellen, dass Sie die gewünschten DB2-Pakete erstellt haben.
      Gehen Sie wie folgt vor, um die Eigenschaften der Pakete zu ändern:
      1. Bearbeiten Sie die Datei Default.genProps. Wenn Sie neue Versionen der vorhandenen Pakete erstellen, müssen Sie die Option -pkgVersion verwenden.
      2. Bearbeiten Sie die Datei Default.bindProps.
      3. Wiederholen Sie die Bindeoperation. Die vorhandenen DB2-Pakete werden überschrieben, es sei denn, Sie haben die Option -pkgVersion verwendet.

      Sie können immer noch die Java-Quelle oder SQL-Anweisungen in Ihrer Anwendung bearbeiten. Nachdem Sie dies getan haben, müssen Sie Ihre pureQueryXML-Dateien löschen und die SQL-Anweisungen erneut erfassen. Konfigurieren Sie anschließend die zu erstellenden DB2-Pakete und führen Sie die Bindeoperation erneut aus.

      Achtung: Sie müssen Ihre pureQueryXML-Dateien nicht löschen, wenn Sie nur Eigenschaften für die Clientoptimierung in einer URL für ein Verbindungsobjekt oder in einem Eigenschaftenobjekt modifizieren. Wenn Sie diese Eigenschaften modifizieren, müssen Sie allerdings darauf achten, nicht die Anzahl Zeilen in der Anwendung zu ändern.
  6. Führen Sie Ihre Anwendung aus.

Nächste Schritte

Die Sicht 'SQL Outline' kann beim Beheben von Problemen im Zusammenhang mit Ihren SQL-Anweisungen hilfreich sein. Denken Sie daran, dass Sie die SQL erneut erfassen und Ihre DB2-Pakete erneut erstellen müssen, wenn Sie eine beliebige SQL-Anweisung oder einen beliebigen anderen Aspekt Ihrer Anwendung modifizieren.

Wenn Sie Ihre Anwendung in einer JAR-Datei implementieren wollen: Bevor Sie Ihre Anwendung in einer JAR-Datei implementieren, müssen Sie sicherstellen, dass die Datei Default.bindProps für jede pureQueryXML-Datei, die zu bindende SQL-Anweisungen enthält, einen Eintrag aufweist. Das pureQuery-Dienstprogramm StaticBinder, das Sie über eine Befehlszeile in der Datenbank, in der Sie Ihre Anwendung implementieren, ausführen müssen, wirkt sich nur auf die in der Datei Default.bindProps aufgelisteten pureQueryXML-Dateien aus.

Gehen Sie wie folgt vor, um die Dateien hinzuzufügen:
  1. Klicken Sie im Ordner dataAccessFolder in Ihrem Projekt mit der rechten Maustaste auf die Datei Default.bindProps und wählen Sie Datenzugriffsentwicklung > Einträge hinzufügen oder entfernen aus.
  2. Fügen Sie im Fenster Einträge hinzufügen oder entfernen alle erforderlichen pureQueryXML-Dateien hinzu.

Wenn Sie davon ausgehen, dass Sie die Stammpaketnamen, die Objektgruppen-IDs und die Versionen für Ihre DB2-Pakete nach der Implementierung der Anwendung gegebenenfalls überarbeiten müssen, müssen Sie außerdem sicherstellen, dass Ihre Datei Default.genProps für jede pureQueryXML-Datei, auf die die defaultOptions-Zeile angewendet wird, einen Eintrag enthält. Sie können dieser Datei außerdem Einträge hinzufügen, indem Sie mit der rechten Maustaste auf die Datei klicken und das Fenster Einträge hinzufügen oder entfernen verwenden.


Feedback