CLI-Anwendung für die pureQuery-Clientoptimierung konfigurieren

Wenn Sie eine CLI-Anwendung (CLI - Call Level Interface) für die Verwendung der pureQuery-Clientoptimierung konfigurieren, kann der CLI-Clienttreiber die pureQuery-Funktionalität aktivieren, beispielsweise vorhandene DB2-CLI-Anwendungen für die statische Ausführung von SQL-Anweisungen aktivieren. Die statische Ausführung von SQL-Anweisungen vermeidet die Vorbereitung von SQL-Anweisungen während der Ausführung und kann die Anwendungssicherheit und -leistung verbessern.

Vorbereitende Schritte

Aktivieren Sie Ihre CLI-Anwendung für die pureQuery-Clientoptimierung.

Informationen zu diesem Vorgang

Sie konfigurieren eine CLI-Anwendung für die pureQuery-Clientoptimierung, indem Sie zuerst Ihre CLI-Anwendung für das Erfassen von SQL-Anweisungen konfigurieren, die von Ihrer Anwendung ausgegeben werden. Dann konfigurieren Sie die Anwendung für die Steuerung der Ausführung von SQL-Anweisungen, die von der Anwendung ausgegeben werden.
  • Wenn die Anwendung eine Verbindung zu einer DB2-Datenbank herstellt, können Sie die Anwendung für die statische Ausführung von SQL-Anweisungen konfigurieren. Der Konfigurationsprozess enthält die zusätzlichen Schritte für das Konfigurieren der pureQueryXML-Datei mit den erfassten SQL-Anweisungen und für das Binden der erfassten SQL-Anweisungen.
  • Eine Informix-Datenbank unterstützt nicht die statische Ausführung von SQL-Anweisungen. Wenn Ihre Anwendung eine Verbindung zu einer Informix-Datenbank herstellt, können Sie mit anderer pureQuery-Funktionalität die SQL-Anweisungen steuern, die die Anwendung für die Datenbank ausführt. Diese Funktionalität ist für CLI-Anwendungen verfügbar, die für die pureQuery-Clientoptimierung aktiviert sind und die eine Verbindung zu Informix- oder DB2-Datenbanken herstellt.

Diese Task beschreibt, wie Sie Ihre CLI-Anwendung für die pureQuery-Clientoptimierung konfigurieren.

Vorgehensweise

Gehen Sie wie folgt vor, um eine CLI-Anwendung für die pureQuery-Clientoptimierung zu konfigurieren:

  1. Legen Sie die pureQuery-Schlüsselwörter in Ihrer CLI-Anwendungskonfigurationsdatei so fest, dass von Ihrer Anwendung ausgegebene SQL-Anweisungen erfasst werden.

    Sie legen die Schlüsselwörter in der Datei db2cli.ini oder db2dsdriver.cfg fest. Die Einstellungen in der Datei db2cli.ini haben Vorrang vor den Einstellungen in der Datei db2dsdriver.cfg.

    1. Setzen Sie den Wert des Schlüsselworts captureMode auf ON.
    2. Setzen Sie den Wert des Schlüsselworts executionMode auf DYNAMIC.

      Der Standardwert für das Schlüsselwort executionMode ist DYNAMIC. Das Schlüsselwort in der Datei fungiert als Erinnerung an den Standardwert.

    3. Setzen Sie den Wert des Schlüsselworts pureQueryXML auf den Pfad und den Namen der pureQueryXML-Datei, die die erfassten SQL-Daten speichert.
      Die pureQueryXML -Datei muss die Erweiterung .xml oder .pdqxml haben. Die folgende Beispielkonfigurationsdatei db2dsdriver.cfg gibt die pureQuery Runtime-Schlüsselwörter an:
      <configuration>
        <dsncollection>
            <dsn alias="alias1" name="name1" host="server1.net1.com" port="50001">
              <parameter name="captureMode" value="on"/>
              <parameter name="executionMode" value="dynamic"/>
              <parameter name="pureQueryXml" value="testclico.pdqxml"/>
            </dsn>
        </dsncollection>
        <databases>
            <database name="name1" host="server1.net1.com" port="50001">
              <parameter name="CommProtocol" value="TCPIP"/>
            </database>
        </databases>
      </configuration>
  2. Führen Sie Ihre Anwendung aus, um SQL-Anweisungen in der pureQueryXML-Datei zu erfassen.

    Wenn Sie die pureQueryXML-Datei zur Verarbeitung versetzen, stellen Sie sicher, dass nicht in die pureQueryXML-Datei geschrieben wird, wenn Sie sie abrufen. Wenn Sie die Datei abrufen, während Schreibzugriff auf sie besteht, ist der Inhalt der Datei möglicherweise ungültig oder die Anwendung kann die Datei möglicherweise nicht aktualisieren, was zu einem E/A-Fehler führt.

  3. Für die statische Ausführung der SQL-Anweisungen erforderlich: Konfigurieren Sie die pureQueryXML-Datei und verwenden Sie dann die SQL-Anweisungen in der Datei, um Pakete für die Anwendungsdatenbank zu erstellen und die Pakete für die Datenbank zu binden.

    Sie verarbeiten die pureQueryXML-Datei auf einem Computer, auf dem pureQuery Runtime installiert und der für die Ausführung der Java-basierten pureQuery-Dienstprogramme Configure und StaticBinder konfiguriert ist.

    1. Kopieren Sie die pureQueryXML-Datei bei Bedarf auf den Computer, der für die Ausführung der pureQuery-Dienstprogramme konfiguriert ist.
    2. Führen Sie das pureQuery-Dienstprogramm Configure aus, um den Paketnamen und die Objektgruppen-ID in der pureQueryXML-Datei zu konfigurieren.

      Führen Sie das Dienstprogramm Configure an einer Eingabeaufforderung aus, um der pureQueryXML-Datei Informationen wie den Paketnamen und die Objektgruppen-ID hinzuzufügen, die vom pureQuery-Dienstprogramm StaticBinder verwendet werden. Sie können außerdem weitere Optionen zum Verwalten der SQL-Anweisungen in der Datei angeben.

    3. Führen Sie das pureQuery-Dienstprogramm StaticBinder mit der konfigurierten pureQueryXML-Datei aus, um Pakete auf dem DB2-Server zu erstellen und zu binden.

      Führen Sie das Dienstprogramm StaticBinder an einer Eingabeaufforderung aus, um Ihre Datei für die Datenbank zu binden. Sie führen das Dienstprogramm StaticBinder mit Optionen aus, die die Datenbank und Paketinformationen angeben.

    4. Ersetzen Sie bei Bedarf die pureQuerXML-Datei auf dem Computer, auf dem die CLI-Anwendung mit der verarbeiteten Datei ausgeführt wird.
  4. Aktualisieren Sie die Konfiguration für Ihre CLI-Anwendung, um die Ausführung der SQL-Anweisungen zu steuern.

    Suchen Sie die Konfigurationsdatei db2cli.ini bzw. db2dsdriver.cfg und aktualisieren Sie die Schlüsselwörter und Werte. In der folgenden Liste werden einige Beispielkonfigurationen beschrieben:

    • Aktualisieren Sie die folgenden Schlüsselwörter und Werte, um Ihre Anwendung für die statische Ausführung von SQL-Anweisungen zu konfigurieren:
      • Setzen Sie den Wert des Schlüsselworts captureMode auf OFF.
      • Setzen Sie den Wert des Schlüsselworts executionMode auf STATIC.
      • Setzen Sie den Wert des Schlüsselworts pureQueryXML auf den Pfad und den Namen der pureQueryXML-Datei, die die erfassten SQL-Anweisungen enthält.

      Mit diesen Schlüsselworteinstellungen führt Ihre CLI-Anwendung SQL-Anweisungen statisch aus. Die folgende Beispielkonfigurationsdatei db2dsdriver.cfg gibt die pureQuery Runtime-Schlüsselwörter an:

      <configuration>
        <dsncollection>
            <dsn alias="alias1" name="name1" host="server1.net1.com" port="50001">
              <parameter name="captureMode" value="off"/>
              <parameter name="executionMode" value="static"/>
              <parameter name="pureQueryXml" value="testclico.pdqxml"/>
            </dsn>
        </dsncollection>
        <databases>
            <database name="name1" host="server1.net1.com" port="50001">
              <parameter name="CommProtocol" value="TCPIP"/>
            </database>
        </databases>
      </configuration>
    • Aktualisieren Sie die folgenden Schlüsselwörter und Werte, um Ihre Anwendung für die dynamische Ausführung der SQL-Anweisungen zu konfigurieren und die Anwendung auf die Ausführung der Anweisungen nur in der pureQueryXML-Datei zu beschränken:
      • Setzen Sie den Wert des Schlüsselworts captureMode auf OFF.
      • Setzen Sie den Wert des Schlüsselworts capturedOnly auf TRUE.
      • Setzen Sie den Wert des Schlüsselworts executionMode auf DYNAMIC.
      • Setzen Sie den Wert des Schlüsselworts pureQueryXml auf den Pfad und den Namen der pureQueryXML-Datei, die die erfassten SQL-Anweisungen enthält.
      Mit diesen Schlüsselworteinstellungen führt Ihre CLI-Anwendung SQL-Anweisungen dynamisch aus. Lediglich die SQL-Anweisungen in der pureQueryXML-Datei werden ausgeführt. Wenn Ihre Anwendung eine SQL-Anweisung absetzt, die sich nicht in der pureQueryXML-Datei befindet, wird ein Fehler zurückgegeben. Die folgende Beispielkonfigurationsdatei db2dsdriver.cfg gibt die pureQuery Runtime-Schlüsselwörter an:
      <configuration>
        <dsncollection>
            <dsn alias="alias1" name="name1" host="server1.net1.com" port="50001">
              <parameter name="captureMode" value="off"/>
              <parameter name="capturedOnly" value="TRUE" />
              <parameter name="executionMode" value="dynamic"/>
              <parameter name="pureQueryXml" value="testclico.pdqxml"/>
            </dsn>
        </dsncollection>
        <databases>
            <database name="name1" host="server1.net1.com" port="50001">
              <parameter name="CommProtocol" value="TCPIP"/>
            </database>
        </databases>
      </configuration>
  5. Führen Sie die Anwendung aus oder starten Sie sie erneut, damit die akualisierten Informationen in der Konfigurationsdatei und der pureQueryXML-Datei verwendet werden.

Ergebnisse

Die für die pureQuery-Clientoptimierung aktivierte CLI-Anwendung führt SQL-Anweisungen basierend auf der angegebenen Konfiguration aus.

pureQuery Runtime prüft, ob eine gültige pureQuery-Lizenz vorhanden ist, wenn eines der pureQuery Runtime-Schlüsselwörter in einer Konfigurationsdatei angegeben wird. Wenn keine gültige pureQuery-Lizenz gefunden wird, wird pureQuery Runtime mit dem Fehlercode SQL8029N beendet.

Nächste Schritte

Sie können die pureQueryXML-Dateidaten in einem in der Datenbank erstellten Repository speichern. Wenn die CLI-Anwendung die pureQueryXML-Dateidaten abrufen und verwenden soll, können Sie die pureQuery-Schlüsselwörter pureQueryXmlRepository und propertiesGroupId so setzen, dass sie auf das Repository und die aktive Laufzeitgruppe zeigen, die die Daten enthalten. Informationen zu Repositorys finden Sie in Auf pureQuery-Daten in anderen Speicherpositionen zugreifen und speichern.


Feedback