Extrahieren Sie SQL-Anweisungen mithilfe der Workbench aus Java-Code, erstellen Sie eine pureQueryXML-Datei aus SQL-Anweisungen und binden Sie die SQL-Anweisungen an die Datenbank.
Sie haben im Lernprogramm zuvor eine pureQueryXML-Datei erstellt, indem Sie Ihre Anwendung ausgeführt haben und SQL-Anweisungen erfasst haben. Eine weitere Möglichkeit, eine pureQueryXML-Datei zu erstellen, die SQL-Anweisungen aus Ihrer Anwendung enthält, ist die Extraktion des SQL-Codes aus Ihrem Anwendungsquellcode. Sie extrahieren die SQL-Anweisungen, die in der Workbench in der Sicht SQL Outline aufgelistet werden.
Gehen Sie wie folgt vor, um eine pureQueryXML-Datei aus SQL-Anweisungen zu erstellen, die aus Java-Quellcode exportiert wurden:
- Extrahieren Sie den SQL-Code aus der Anwendung.
- Öffnen Sie in der Sicht SQL Outline das Fenster Java-Projekte, indem Sie unten in der Sicht auf die Registerkarte Java klicken.
- Klicken Sie im Fenster Java-Projekte mit der rechten Maustaste auf Ihre Datei mit Java-Quellcode und klicken Sie auf SQL in Datei exportieren.
- Speichern Sie die Datei, die die extrahierten SQL-Anweisungen enthält, als dataAccessFolder\MySample.sql.
Die Workbench erstellt die Datei dataAccessFolder\MySample.sql.
Anmerkung: Nachdem Sie die Datei erstellt haben, können Sie die SQL-Datei im SQL-Editor öffnen, Cursorattributinformationen hinzufügen und die pureQueryXML-Datei über den SQL-Editor erstellen.
- Erstellen Sie eine pureQueryXML-Datei aus der SQL-Datei.
- Aktualisieren Sie bei Bedarf den Inhalt des Ordners dataAccessFolder im Paketexplorer, um die Datei MySample.sql anzuzeigen.
- Klicken Sie im Paketexplorer mit der rechten Maustaste auf die SQL-Datei und klicken Sie auf .
- Geben Sie im Fenster pureQueryXML aus SQL-Anweisungen generieren die Position der pureQueryXML-Ausgabedatei an und klicken Sie auf Weiter.
- Wählen Sie im Feld Java-Projekt Ihr Projekt aus.
- Geben Sie den Namen MySample.pdqxml in das Feld pureQueryXML-Dateiname ein.
- Überprüfen Sie die Aktualisierungen, die für die Datei 'Default.genProps vorgeschlagen werden.
Die Workbench aktualisiert die Datei
Default.gen.Props mit Informationen, die dem folgenden Text ähneln, in dem die Option
-rootPkgName mit dem Wert
myPkg für die pureQueryXML-Datei angegeben ist.
C:\DS-tutorial\pq-tutorial\dataAccessFolder\MySample.pdqxml = -rootPkgName myPkg
- Klicken Sie auf Fertig stellen.
Die Workbench erstellt die pureQueryXML-Datei dataAccessFolder\MySample.pdqxml.
- Zeigen Sie die pureQueryXML-Datei an.
Klicken Sie im Paketexplorer doppelt auf die Datei dataAccessFolder\MySample.pdqxml.
Die Datei wird im pureQueryXML-Editor geöffnet. Der Anweisungsgruppenname ist 'myPkg'.
- Schließen Sie die pureQueryXML-Datei.
- Binden Sie die SQL-Anweisungen in der pureQueryXML-Datei.
- Klicken Sie mit der rechten Maustaste auf die Datei capture.pdqxml und klicken Sie auf .
- Wählen Sie im Dialogfeld Verbindung auswählen die Datenbank SAMPLE aus und klicken Sie auf Fertig stellen.
Die Workbench führt das Dienstprogramm
StaticBinder aus und sendet die Ausgabe dieses Dienstprogramms in die Konsolsicht:
================================================================================
Das Dienstprogramm StaticBinder beginnt die Bindeoperation für die pureQueryXml-
Datei 'C:\test\DS-tutorial\pq-tutorial\dataAccessFolder\MySample.pdqxml'.
Start der Verarbeitung von Optionen:
-url "jdbc:db2://localhost:50000/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;"
-username "*****" -password "*****"
-pureQueryXml "C:\test\DS-tutorial\pq-tutorial\dataAccessFolder\MySample.pdqxml"
Das Dienstprogramm StaticBinder hat das Paket 'myPkgA1' für die Isolationsstufe 'UR' erfolgreich gebunden.
Das Dienstprogramm StaticBinder hat das Paket 'myPkgA2' für die Isolationsstufe 'CS' erfolgreich gebunden.
Das Dienstprogramm StaticBinder hat das Paket 'myPkgA3' für die Isolationsstufe 'RS' erfolgreich gebunden.
Das Dienstprogramm StaticBinder hat das Paket 'myPkgA4' für die Isolationsstufe 'RR' erfolgreich gebunden.
Die Bindeoperation wurde für
'C:\test\DS-tutorial\pq-tutorial\dataAccessFolder\MySample.pdqxml'
erfolgreich beendet.
================================================================================
Ergebnisse der Aktivität des Dienstprogramms StaticBinder:
Anzahl der Elemente, für die die Bindeoperation ERFOLGREICH WAR: 1
Das Binden für die XML-Datei MySample.pdqxml unter Verwendung der Verbindung SAMPLE in Projekt pq-tutorial war erfolgreich.
- Aktualisieren Sie den Quellcode, um eine neue SQL-Anweisung auszuführen, und führen Sie die Anwendung aus.
- Öffnen Sie im Paketexplorer die Anwendung MySample.java.
- Legen Sie den Parameter in der Anwendung fest, um eine neue SQL-Anweisung auszuführen.
Ändern Sie den Wert der Variablen i im folgenden Code in 2:
if ( args.length == 0) {
// value for the default SQL statement to run
i = 2 ;
- Speichern Sie die Datei.
- Führen Sie die Anwendung aus.
Klicken Sie mit der rechten Maustaste auf die Datei MySample.java und klicken Sie auf .
pureQuery
Runtime gibt einen Fehler zurück, der angibt, dass die SQL-Anweisung in der pureQueryXML-Datei nicht gefunden werden kann.
In der pureQuery Runtime-Eigenschaftendatei src/pdq.properties ist der Wert der Eigenschaft pureQueryXML dataAccessFolder/capture.pdqxml. Die pureQueryXML-Datei enthält nicht die SQL-Anweisung, die von der Anwendung ausgegeben wurde.
- Ändern Sie die Informationen in der Datei pdq.properties so, dass die Datei MySample.pdqxml als pureQueryXML-Datei festgelegt wird.
- Klicken Sie doppelt auf die Datei scr\pdq.properties.
Die Datei wird im Editor für Eigenschaften paralleler Datenbankabfragen geöffnet.
- Legen Sie die Datei MySample.pdqxml als pureQueryXML-Datei fest, indem Sie den Wert der Eigenschaft pureQueryXML in dataAccessFolder/MySample.pdqxml ändern.
pdq.captureMode=OFF
pdq.capturedOnly=TRUE
pdq.executionMode=STATIC
pdq.pureQueryXml=dataAccessFolder/MySample.pdqxml
- Speichern Sie die Datei.
- Führen Sie die Anwendung aus.
Klicken Sie mit der rechten Maustaste auf die Datei MySample.java und klicken Sie auf .
Die Anwendung wird ausgeführt. Die Ausgabe wird im Konsolfenster angezeigt.
Die Ausgabe ähnelt dem folgenden Beispiel:
=======
IBM InfoSphere Optim pureQuery Runtime 3.1.0.0 Build 3.10.115
=======
case 2
case 2 - large projects: 11
Finished case 2
Mit der richtigen Zuordnung zwischen der SQL-Anweisung und dem Paket in der Datenbank SAMPLE in der pureQueryXML-Datei MySample.jave kann pureQuery Runtime die Anweisung statisch ausführen.