< Zurück | Weiter >

Lerneinheit 2: pureQuery-Umgebung außerhalb der Workbench-Umgebung konfigurieren

Konfigurieren Sie die Umgebung auf Ihrem Computer, um Ihre Java-Anwendung mit aktivierter pureQuery-Clientoptimierung auszuführen.
Vorbereitungen
Stellen Sie sicher, dass Sie auf Ihrem System die folgende Software installiert haben:
  • Java Developer Kit Version 1.5 oder später
  • IBM® Data Server Driver für JDBC und SQLJ Version 3.57
  • pureQuery Runtime Version 2.2.1

In der vorherigen Lerneinheit haben Sie Ihre Java-Anwendung in das Verzeichnis C:\pureQuery-test auf Ihrem Computer exportiert und die Anwendung für die DB2-Datenbank SAMPLE ausgeführt.

In dieser Lerneinheit konfigurieren Sie Ihre Java-Umgebung und aktivieren für Ihre Anwendung die pureQuery-Clientoptimierung. Sie erfassen SQL-Anweisungen über Ihre Anwendung und konfigurieren pureQuery Runtime und die Zieldatenbank für die statische Ausführung der von Ihrer Anwendung ausgegebenen SQL-Anweisungen.

  1. Wenn Sie das Befehlsfenster aus der vorherigen Lerneinheit geschlossen haben, öffnen Sie ein neues Befehlsfenster und legen Sie die Umgebungsvariable CLASSPATH für das Fenster fest.
    1. Öffnen Sie ein Fenster mit Eingabeaufforderung und legen Sie als Verzeichnis c:\pureQuery-test fest.

      Geben Sie den Befehl cd c:\pureQuery-test in das Fenster ein.

    2. Fügen Sie die Dateien mithilfe des Befehls SET der CLASSPATH-Angabe hinzu.
      Wenn die JAR-Dateien für DB2-Datenbanktreiber beispielsweise im Verzeichnis C:\DB2\drivers installiert sind, fügen Sie die Dateien mithilfe des folgenden Befehls im Fenster mit Eingabeaufforderung der CLASSPATH-Angabe hinzu. Geben Sie den folgenden SET-Befehl in einer Zeile ein.
      set CLASSPATH=C:\DB2\drivers\db2jcc_license_cu.jar;C:\DB2\drivers\db2jcc.jar;
          C:\pureQuery-test\MyTestApp.jar;%CLASSPATH%;
      Tipp: Das Standardverzeichnis der JAR-Dateien des DB2-Datenbanktreibers ist C:\Programme\IBM\SQLLIB\java.
  2. Fügen Sie die Position der JAR-Dateien für pureQuery Runtime mithilfe des Befehls SET der CLASSPATH-Angabe hinzu.
    Wenn die JAR-Dateien für pureQuery beispielsweise im Verzeichnis C:\pureQuery installiert sind, fügen Sie die Dateien mithilfe des folgenden Befehls der CLASSPATH-Angabe hinzu:
    set CLASSPATH=C:\pureQuery\pdq.jar;C:\pureQuery\pdqmgmt.jar;.;%CLASSPATH%;
    Mit den JAR-Dateien für pureQuery Runtime im Klassenpfad (CLASSPATH) der Anwendung kann Ihre Anwendung pureQuery Runtime-Funktionen, einschließlich der pureQuery-Clientoptimierung, verwenden.
  3. Erstellen Sie eine pureQuery Runtime-Eigenschaftendatei, die verwendet wird, wenn Sie eine Anwendung ausführen, für die die pureQuery-Clientoptimierung aktiviert ist.
    1. Erstellen Sie die Eigenschaftendatei mytest.properties in Ihrem Testverzeichnis.
    2. Fügen Sie der Datei pureQuery-Eigenschaften hinzu.

      Fügen Sie in der Datei mytest.properties die folgenden pureQuery Runtime-Eigenschaften mit einem Texteditor hinzu:

      pdq.captureMode=ON
      pdq.executionMode=DYNAMIC
      pdq.pureQueryXml=./mytestsql.pdqxml
    3. Speichern Sie die Datei.

    Die pureQuery Runtime-Eigenschaften geben an, dass pureQuery Runtime SQL-Anweisungen dynamisch ausführt und SQL-Anweisungen in der Datei mytestsql.pdqxml erfasst.

  4. Führen Sie die Anwendung zweimal mit aktivierter pureQuery-Clientoptimierung aus, um SQL-Anweisungen zu erfassen.

    Sie können pureQuery Runtime-Eigenschaften auf verschiedene Arten angeben. Mit jeder der folgenden Tasks wird die Anwendung mit den Eigenschaften, die in der pureQueryXML-Datei mytest.pdqxmlfür die Erfassung von SQL-Anweisungen festgelegt wurden, ausgeführt.

    Führen Sie eine der folgenden Tasks aus:

    • Führen Sie die Anwendung aus und geben Sie die pureQuery Runtime-Eigenschaft finalRepositoryProperties mit der Option pdqProperties an. Geben Sie jeden der folgenden Java-Befehle in einem Fenster mit Eingabeaufforderung in einer Zeile ein:
      java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
         myTestApp.MySample
      
      java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
         myTestApp.MySample 1

      Die pureQuery Runtime-Eigenschaft finalRepositoryProperties gibt an, dass pureQuery Runtime die pureQuery-Eigenschaften aus der Datei mytest.properties abruft.

    • Führen Sie die Anwendung aus und geben Sie drei pureQuery-Eigenschaften mit der Option pdqProperties an. Geben Sie jeden der folgenden Java-Befehle im Fenster mit Eingabeaufforderung in einer Zeile ein: Geben Sie zwischen den pureQuery Runtime-Eigenschaften keine Leerzeichen ein.
      java -Ddb2.jcc.pdqProperties=captureMode(ON),pureQueryXml(./mytestsql.pdqxml),
         capturedOnly(FALSE),executionMode(DYNAMIC) myTestApp.MySample
      
      java -Ddb2.jcc.pdqProperties=captureMode(ON),pureQueryXml(./mytestsql.pdqxml),
         capturedOnly(FALSE),executionMode(DYNAMIC) myTestApp.MySample 1
    • Führen Sie die Anwendung mit der Konfiguration aus der Standardeigenschaftendatei pdq.properties aus.
      Erstellen Sie eine Kopie der pureQuery-Eigenschaftendatei mytest.properties mit dem Namen C:\pureQuery-test\pdq.properties. Geben Sie anschließend die beiden folgenden Java-Befehle im Fenster mit Eingabeaufforderung ein:
      java myTestApp.MySample
      
      java myTestApp.MySample 1

      pureQuery Runtime sucht in einer Gruppe von bestimmten Positionen in einer bestimmten Reihenfolge nach Eigenschaftswerten. Zu den Positionen, die durchsucht werden, gehören die CLASSPATH-Anwendungsverzeichnisse für die Datei pdq.properties.

      Wenn pureQuery keinen Wert für eine Eigenschaft findet, wird der Standardwert für diese Eigenschaft verwendet. Standardmäßig werden mit den Eigenschaften executionMode und captureMode Anweisungen dynamisch ausgeführt und SQL-Anweisungen werden nicht erfasst.

    Die Anwendung wird ausgeführt und pureQuery Runtime erfasst die SQL-Anweisungen in der pureQueryXML-Datei mytest.properties.

  5. Führen Sie das pureQuery-Dienstprogramm Configure aus, um die pureQueryXML-Datei zu konfigurieren.
    Geben Sie den folgenden Befehl in einem Fenster mit Eingabeaufforderung in einer Zeile ein:
    java com.ibm.pdq.tools.Configure -pureQueryXml mytestsql.pdqxml
       -rootPkgName MYTEST -validateXml TRUE
    Das Dienstprogramm Configure prüft und konfiguriert die pureQueryXML-Datei. Der Wert der Option -rootPkgName ist MYTEST. Die Pakete, die über diese pureQueryXML-Datei erstellt werden, haben andere Namen als die Pakete, die Sie über die Workbench erstellt haben.
  6. Führen Sie das pureQuery-Dienstprogramm StaticBinder aus, um die Bindeoperation für die Datenbank auszuführen.
    Geben Sie den Befehl in einem Fenster mit Eingabeaufforderung in einer Zeile ein. Ersetzen Sie die Werte für die Optionen -url, -user und -password durch die Werte für die Verbindung zur Datenbank SAMPLE.
    java com.ibm.pdq.tools.StaticBinder
      -url jdbc:db2://localhost:50000/SAMPLE -user Benutzer01 -password Kennwort
       -pureQueryXml mytestsql.pdqxml
    Anmerkung: Sie können dem Befehl die Option -showDetails true hinzufügen, um detailliertere Informationen zum Bindeprozess anzuzeigen.
  7. Aktualisieren Sie die pureQuery Runtime-Eigenschaftendatei mytest.properties.
    • Ändern Sie den Wert der Eigenschaft captureMode in OFF.
    • Ändern Sie den Wert der Eigenschaft executionMode in STATIC.
    • Fügen Sie die Eigenschaft allowDynamicSQL mit dem Wert FALSE hinzu.
    Die aktualisierte Datei enthält die folgenden Eigenschaften:
    pdq.captureMode=OFF
    pdq.executionMode=STATIC
    pdq.allowDynamicSQL=FALSE
    pdq.pureQueryXml=./mytestsql.pdqxml

    Durch die Änderungen wird pureQuery Runtime für die statische Ausführung von SQL-Anweisungen über Ihre Anwendung und für die Ausführung von SQL-Anweisungen, die sich in der pureQueryXML-Datei mytestsql.pdqxml befinden, konfiguriert.

  8. Führen Sie die Anwendung mit aktivierter pureQuery-Clientoptimierung und mit der Konfiguration aus der Datei mytest.properties aus.
    Geben Sie den folgenden Befehl in einem Fenster mit Eingabeaufforderung in einer Zeile ein:
    java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
       myTestApp.MySample 2

    Wenn Sie den Wert 2 verwenden, gibt die Anwendung eine SQL-Anweisung aus, die sich nicht in der pureQueryXML-Datei befindet. Die Anwendung wird ausgeführt und Sie erhalten eine Fehlernachricht, die angibt, dass die SQL-Anweisung nicht in der pureQueryXML-Datei gefunden wurde.

  9. Führen Sie die Anwendung mit derselben pureQuery Runtime-Konfiguration aus und geben Sie eine Anweisung aus, die sich in der pureQueryXML-Datei befindet.
    Geben Sie den folgenden Befehl in einem Fenster mit Eingabeaufforderung in einer Zeile ein:
    java -Ddb2.jcc.pdqProperties=finalRepositoryProperties(file://C:/pureQuery-test/mytest.properties)
       myTestApp.MySample
    Die Anwendung wird ausgeführt und die SQL-Anweisung wird statisch ausgeführt.

Zusammenfassung

In dieser Lerneinheit haben Sie die pureQuery-Clientoptimierung für Ihre Java-Anwendung aktiviert und Sie haben Ihre Anwendung und die Datenbank SAMPLE für die statische Ausführung von SQL-Anweisungen konfiguriert.
Sie haben die folgenden Tasks ausgeführt:
  • CLASSPATH-Angabe mit den JAR-Dateien für pureQuery Runtime aktualisieren
  • pureQuery Runtime-Eigenschaftendatei erstellen und pureQuery-Eigenschaften festlegen
  • Java-Anwendung ausführen und SQL-Anweisungen erfassen, die die Anwendung ausgegeben hat
  • pureQuery-Dienstprogramme Configure und StaticBinder für die Verarbeitung der pureQueryXML-Datei ausführen und Bindeoperation mit der pureQueryXML-Datei ausführen
  • Java-Anwendung ausführen und SQL-Anweisung statisch ausführen

In dieser Lerneinheit haben Sie die pureQueryXML-Datei konfiguriert, die SQL-Abfragen enthielt. Wenn Sie eine pureQueryXML-Datei konfigurieren, die DDL-Anweisungen enthält, werden die DDL-Anweisungen mit Ausnahme von DECLARE GLOBAL TEMPORARY TABLE in eine separate Datei verschoben. Beispiel: Sie haben eine SQL-Anweisung erfasst, die eine Tabelle in Ihrer pureQueryXML-Datei erstellt hat. Wenn Sie die Datei erstellen, wird die Anweisung, die eine Tabelle erstellt, in eine separate Datei verschoben. Informationen zur Verarbeitung von DDL-Anweisungen durch das pureQuery-Dienstprogramm Configure finden Sie in Dienstprogramm Configure.

In einem Workbench-Java-Projekt, für das die pureQuery-Unterstützung aktiviert ist, verarbeitet der Konfigurationsprozess für die pureQueryXML-Datei DDL-Anweisungen auf dieselbe Art und Weise wie das Dienstprogramm Configure.

Informationen zum Festlegen von pureQuery Runtime-Eigenschaften finden Sie in Suchhierarchie für die Speicherpositionen, an denen Eigenschaften für Clientoptimierung gesetzt werden können.

Informationen zur pureQuery Runtime-Eigenschaft finalRepositoryProperties finden Sie in finalRepositoryProperties (Eigenschaft).

< Zurück | Weiter >

Feedback