Java-Anwendungen mit gespeicherten Java-Prozeduren binden

Wenn Sie mindestens eine gespeicherte Java-Prozedur in einer für pureQuery aktivierten Java-Anwendung erstellen, können Sie die Anwendung an eine DB2-Datenbank binden. Anwendungen, die eingebettetes SQL verwenden, das statisch in DB2-Paketen gebunden ist, haben natürliche Vorteile in den Bereichen Leistung, Zuverlässigkeit, Sicherheit, Überwachung und Verwaltung.

Vorbereitende Schritte

Stellen Sie sicher, dass die folgenden Anforderungen erfüllt sind:
  • Das Java-Projekt mit den gespeicherten Java-Prozeduren muss einer unterstützten DB2-Datenbank zugeordnet sein.
  • Die Dateien pdq.jar und pdqmgmt.jar müssen sich im Erstellungspfad für das Java-Projekt befinden.

Informationen zu diesem Vorgang

Die Standardwerte lauten wie folgt:
  • Pakete werden in der Objektgruppe NULLID gebunden.
  • Die Versions-ID der Pakete wird durch einen Algorithmus bestimmt und basiert auf der aktuellen Systemzeit der Datenbank.
  • Der Stammpaketname besteht aus den ersten sieben Zeichen des Namens der Ausführungsklasse. Vier Pakete werden erstellt, eines für jede Isolationsstufe.

Sie können den Namen der Paketobjektgruppe und die Stammpaketnamen und -versionen angeben.

Gehen Sie wie folgt vor, um eine Java-Anwendung mit gespeicherten Java-Prozeduren zu binden:

Vorgehensweise

  1. Falls die pureQuery-Modellstruktursicht nicht geöffnet ist, wählen Sie Fenster > Sicht anzeigen > Andere aus. Wählen Sie Daten > pureQuery-Modellstruktur im Fenster Sicht anzeigen aus.
  2. Erweitern Sie im Paketexplorer den Ordner dataAccessFolder in dem Java-Projekt, das die gespeicherten Java-Prozeduren enthält.
  3. Klicken Sie mit der rechten Maustaste auf die Datei Default.genProps und wählen Sie Datenzugriffsverwaltung > Einträge hinzufügen oder entfernen aus. Fügen Sie im Fenster Einträge hinzufügen oder entfernen alle Schnittstellen hinzu, die für Ihre gespeicherte Prozedur erforderlich sind.
  4. Geben Sie in der Datei Default.genProps die Objektgruppe, die Stammnamen und die Versionen der DB2-Pakete an, die Sie erstellen wollen. Klicken Sie in der pureQuery-Modellstruktursicht auf Aktualisieren, um Ihre Änderungen anzuzeigen. Die Sicht zeigt weiterhin nur nicht gebundene Pakete an, weil Sie die Bindeoperation noch nicht ausgeführt haben.
  5. Klicken Sie mit der rechten Maustaste auf die Datei Default.bindProps und wählen Sie Datenzugriffsverwaltung > Einträge hinzufügen oder entfernen aus. Fügen Sie im Fenster Einträge hinzufügen oder entfernen alle Schnittstellen hinzu, die für Ihre gespeicherte Prozedur erforderlich sind.
  6. Geben Sie in der Datei Default.bindProps Optionen an, die für alle SQL-Anweisungen in der Java-Anwendung gelten, wenn Sie sie in DB2-Paketen binden.
  7. Klicken Sie mit der rechten Maustaste auf das Java-Projekt mit den gespeicherten Java-Prozeduren und wählen Sie dann pureQuery-Anwendung binden aus. Das Fenster Verbindung auswählen wird geöffnet und Sie können die zu verwendende DB2-Datenbank auswählen. Sie können eine Datenbank auswählen, die Ihrem Java-Projekt nicht zugeordnet ist.

    Die Ergebnisse der Bindeoperation werden in der Konsolsicht angezeigt. Diese Sicht wird automatisch geöffnet, wenn sie nicht bereits geöffnet ist.

    Alle während der Bindeoperation auftretenden Fehler werden ebenfalls in der Konsolsicht angezeigt.

  8. Ändern Sie den Code der gespeicherten Java-Prozeduren, damit er die Logik enthält, um die Eigenschaft pdq.executionMode beim Aufrufen der pureQuery-API auf Statisch zu setzen. Das folgende Codesegment zeigt ein Beispiel für diese Logik:
    	java.util.Properties myPdqProperties = new java.util.Properties();
    	myPdqProperties.put("pdq.executionMode", "STATIC");
    Connection con = DriverManager.getConnection("jdbc:default:connection");
    	Data d = DataFactory.getData(con,myPdqProperties);

Feedback