Dienstprogramm Generator

Das pureQuery-Dienstprogramm Generator generiert Implementierungsklassen für Schnittstellen, die mit Annotationen versehene Methoden deklarieren.

Dieses Thema ist in die folgenden Abschnitte unterteilt:

Eine Beschreibung der in den Diagrammen verwendeten Konventionen finden Sie in Syntaxdiagramme lesen.

Übersicht

Das pureQuery-Dienstprogramm Generator benötigt Parameter, die die zu verwendende Eclipse-Umgebung, die Datenbank, den JDBC-Treiber und die bei der Generierung einer Implementierungsklasse zu verwendende Schnittstelle angeben.

Das Dienstprogramm Generator analysiert den Inhalt der Eingabeschnittstellendatei und erstellt Java-Code, der das Datenobjekt abfragt oder aktualisiert, auf das in den Annotationen @Select, @Update und @Call verwiesen wird. Es generiert den Code, mit dem die Ziel-Java-Bean in einer Abfrageoperation gefüllt wird, und verwendet den Inhalt der Java-Bean bei der Aktualisierung als Eingabedaten.

Viele pureQuery-Benutzer erstellen ihre Anwendungen mithilfe der Workbench. Der pureQuery-Generator wird automatisch für alle pureQuery-Schnittstellen für mit Annotationen versehenen Methoden aufgerufen, die sich in einem Java-Projekt mit aktivierter pureQuery-Unterstützung befinden. Die Generierung von Schnittstellenimplementierungen findet während des normalen Erstellungsprozesses für Java-Projekte statt.

Sie können den pureQuery-Generator jedoch auch über eine Befehlszeile ausführen. IBM® Data Studio, IBM Optim Development Studio oder IBM Data Studio Developer muss installiert sein. Je nachdem, welches dieser Produkte installiert ist, müssen Sie die folgenden JAR-Dateien im Systemklassenpfad oder JVM-Klassenpfad angeben, wenn Sie das Dienstprogramm Generator ausführen:

Das Dienstprogramm Generator startet das Produkt nicht. Es verwendet die Infrastuktur und die Plug-ins, die von diesen Produkten bereitgestellt werden.

Optionsdateien

Eine Optionsdatei listet die Schnittstelle(n) auf, die vom pureQuery-Dienstprogramm Generator verarbeitet werden soll(en), sowie die Optionen, die dem Generator mitteilen, wie die Schnittstellen zu verarbeiten sind. Sie können Standardoptionen definieren, die für alle in einer Optionsdatei auflisteten Schnittstellen gelten. Sie können außerdem Optionen für Schnittstellen definieren, sodass Sie die Standardoptionen überschreiben können, und andere Optionen definieren, die nur für einzelne Schnittstellen bestimmt sind.

Im Befehl für die Ausführung des Dienstprogramms Generator können Sie die zu verwendende Datei mit der Option -optionsFile angeben.

Eine einfache Optionsdatei für den pureQuery-Generator könnte beispielsweise wie folgt aussehen:
defaultOptions = -driverName com.ibm.db2.jcc.DB2Driver -url jdbc:db2://SRVR01:50000/DB01 -username user01 -password passw0rd
com.myCompany.MyInterfaceA = -collection NULLID
com.myCompany.MyInterfaceB = -collection COLL01 -xmlFile C:\overrides\myInterfaceB_sql2.xml
com.myCompany.MyInterfaceC = -url jdbc:db2://SRVR01:50001/DB02 -username user02 -password pass02 
In diesem Beispiel gibt die mit defaultOptions beginnende Zeile Folgendes an: den Treiber, der beim Herstellen der Verbindung zur Datenbank verwendet werden soll, die URL für die Verbindung zur Datenbank sowie den Benutzernamen und das Kennwort. Diese Einstellungen gelten für alle Schnittstellen, die in der Optionsdatei angegeben sind. Die für die Schnittstellen spezifischen Zeilen definieren nur die Optionen für die betreffenden Schnittstellen.
Sie können außerdem Kommentare in Optionsdateien aufnehmen, indem Sie das Symbol # an den Anfang jeder Kommentarzeile stellen. Wenn dieses Symbol in dem Wert einer der Optionen enthalten sein soll, setzen Sie den Wert in doppelte Anführungszeichen:
-pkgVersion "ver#1"

In einer Optionsdatei können Sie einen Eintrag erstellen, der die Generierungseigenschaften angibt, die auf eine Gruppe von Java-Schnittstellen angewendet werden. Sie erstellen eine Zeile, die mit groupOptions.Gruppenname beginnt. Die Gruppenkennung ist der Wert von Gruppenname. Gruppenname ist die Zeichenfolge, die einer Schnittstelle mit der pureQuery-Annotation @Group hinzugefügt wird.

Im folgenden Beispiel wird die Annotation @Group für die Schnittstelle CalculateTax angegeben:
@Group ("Payroll")
public Interface CalculateTax {
…
}
Wenn der folgende Eintrag groupOptions.Payroll in einer Optionsdatei angegeben ist, generiert das Dienstprogramm Generator Implementierungsklassen für die Schnittstelle CalculateTax mit den angegebenen Optionseinstellungen.
groupOptions.Payroll= -collection Payroll -url "jdbc:db2://com.prod.hr:50000/DB01" 
Informationen zur Annotation @Group finden Sie in Schnittstellenverarbeitung durch pureQuery-Dienstprogramme steuern.
Wenn Sie den Generator über eine Befehlszeile ausführen und eine Optionsdatei verwenden, erkennt pureQuery Optionen in folgender Reihenfolge:
  1. Optionen in der Befehlszeile
  2. Optionen für einzelne Schnittstellen in der angegebenen Optionsdatei
  3. Über einen Eintrag groupOptions in der angegebenen Optionsdatei festgelegte Optionen
  4. Standardoptionen in der angegebenen Optionsdatei

Syntax für den Befehl zur Ausführung des Dienstprogramms Generator ohne Optionsdatei

Sie können auch nur der Befehl verwenden, wenn für alle angegebenen Schnittstellen dieselben Optionen verwendet werden sollen.

Syntaxdiagramm lesenSyntaxdiagramm überspringen
                                                                                    (1)   
>>-java--org.eclipse.core.launcher.Main-- -application--com.ibm.pdq.tools.Generator------>

>-- -data--temporärer_Arbeitsbereich---------------------------->

>-- -driverName--JDBC-Treiber----------------------------------->

>-- -url--Verbindungs-URL-- -username--Benutzer-ID-- -password--Kennwort-->

>--+------------------------+----------------------------------->
   |              .-FALSE-. |   
   '- -noCleanup--+-TRUE--+-'   

>-- -rootPath--Stammverzeichnispfad----------------------------->

>--+------------------------------+----------------------------->
   '- -userClasspath--Klassenpfad-'   

>--+-------------------------------------+---------------------->
   |               .-NULLID------------. |   
   '- -collection--+-Objektgruppenname-+-'   

>--+---------------------------------+-------------------------->
   '- -pkgVersion-- -+-AUTO--------+-'   
                     '-Versions-ID-'     

>--+--------------------------------------+--------------------->
   '- -rootPkgName--Stamm_des_Paketnamens-'   

>--+-----------------------------------------+------------------>
   |                   .-INTERFACE---------. |   
   '- -rootPkgPattern--+-INTERFACE_JAVAPKG-+-'   
                       '-JAVAPKG_INTERFACE-'     

>--+-----------------------------------------------+------------>
   '- -rootPkgExclusion--="--pureQueryXML-Datei--"-'   

>--+---------------------------------------+-------------------->
   |                             .-FALSE-. |   
   '- -forceSingleBindIsolation--+-TRUE--+-'   

>--+----------------------+--+-----------------------+---------->
   '- -xmlFile--XML-Datei-'  |                   (2) |   
                             '-| Traceoptionen |-----'   

                .---------------------------------.   
                V                                 |   
>-- -interface----Java-Paket.Schnittstelle.Klasse-+------------->

>--+--------------------------------------------+--------------->
   '- -baseDataOverride--Java-Paket.Klassenname-'   

>--+---------------------------+-------------------------------><
   |                  .-AUTO-. |   
   '- -lineSeparator--+-CRLF-+-'   
                      +-CR---+     
                      '-LF---'     

Anmerkungen:
  1. Sie können die Optionen in beliebiger Reihenfolge angeben.
  2. Informationen zur Syntax finden Sie in der Beschreibung dieser Optionen.

Syntax für den Befehl zur Ausführung des Dienstprogramms Generator mit Optionsdatei

Sie können die Namen der Schnittstellen und die Optionen für die Erstellung der DB2-Pakete oder DBRM-Dateien über eine Optionsdatei angeben. Mit einer Optionsdatei können Sie unterschiedliche Optionen für die unterschiedlichen Schnittstellen angeben.

Wenn Sie die Workbench verwenden, können Sie in einer Optionsdatei (z. B. Datei Default.genProps) nur die Schnittstellen auflisten, für die Sie Optionen einzeln angeben wollen. Die defaultOptions-Zeile gilt für alle Schnittstellen, die sich in einem Java-Projekt befinden.

Syntaxdiagramm lesenSyntaxdiagramm überspringen
                                                                                    (1)   
>>-java--org.eclipse.core.launcher.Main-- -application--com.ibm.pdq.tools.Generator------>

>-- -data--temporärer_Arbeitsbereich---------------------------->

>-- -driverName--JDBC-Treiber----------------------------------->

>-- -url--Verbindungs-URL-- -username--Benutzer-ID-- -password--Kennwort-->

>-- -optionsFile--Dateiname--+------------------------+--------->
                             |              .-FALSE-. |   
                             '- -noCleanup--+-TRUE--+-'   

>-- -rootPath--Stammverzeichnispfad----------------------------->

>--+------------------------------+----------------------------->
   '- -userClasspath--Klassenpfad-'   

>--+-----------------------+--+---------------------------+----><
   |                   (2) |  |                  .-AUTO-. |   
   '-| Traceoptionen |-----'  '- -lineSeparator--+-CRLF-+-'   
                                                 +-CR---+     
                                                 '-LF---'     

Anmerkungen:
  1. Sie können die Optionen in beliebiger Reihenfolge angeben.
  2. Informationen zur Syntax finden Sie in der Beschreibung dieser Optionen.

Die beiden letzten Syntaxdiagramme beschreiben, wie Einträge in Optionsdateien erstellt werden.

Syntax zur Angabe von Standardoptionen in einer Optionsdatei für das Dienstprogramm Generator

Dieses Syntaxdiagramm zeigt die Standardoptionen, die Sie für alle in einer Optionsdatei aufgeführten Schnittstellen festlegen können.

Syntaxdiagramm lesenSyntaxdiagramm überspringen
                     (1)                               
>>-defaultOptions--=------ -driverName--JDBC-Treiber------------>

>-- -url--Verbindungs-URL-- -username--Benutzer-ID-- -password--Kennwort-->

>--+------------------------+----------------------------------->
   |              .-FALSE-. |   
   '- -noCleanup--+-TRUE--+-'   

>-- -rootPath--Stammverzeichnispfad----------------------------->

>--+------------------------------+----------------------------->
   '- -userClasspath--Klassenpfad-'   

>--+-----------------------+------------------------------------>
   |                   (2) |   
   '-| Traceoptionen |-----'   

>--+-------------------------------------+---------------------->
   |               .-NULLID------------. |   
   '- -collection--+-Objektgruppenname-+-'   

>--+---------------------------------+-------------------------->
   '- -pkgVersion-- -+-AUTO--------+-'   
                     '-Versions-ID-'     

>--+---------------------------------------+-------------------->
   |                             .-FALSE-. |   
   '- -forceSingleBindIsolation--+-TRUE--+-'   

>--+----------------------+------------------------------------->
   '- -xmlFile--XML-Datei-'   

>--+--------------------------------------------+--------------->
   '- -baseDataOverride--Java-Paket.Klassenname-'   

>--+---------------------------+-------------------------------><
   |                  .-AUTO-. |   
   '- -lineSeparator--+-CRLF-+-'   
                      +-CR---+     
                      '-LF---'     

Anmerkungen:
  1. Sie können die Optionen in beliebiger Reihenfolge angeben.
  2. Informationen zur Syntax finden Sie in der Beschreibung dieser Optionen.

Syntax zum Überschreiben von Standardoptionen in einer Optionsdatei für das Dienstprogramm Generator

Dieses Syntaxdiagramm zeigt die Optionen, die Sie für jede in einer Optionsdatei aufgeführte Schnittstelle festlegen können.

Syntaxdiagramm lesenSyntaxdiagramm überspringen
                               (1)   
>>-Java-Paket.Schnittstelle--=---------------------------------->

>-- -driverName--JDBC-Treiber----------------------------------->

>-- -url--Verbindungs-URL-- -username--Benutzer-ID-- -password--Kennwort-->

>--+-------------------------------------+---------------------->
   |               .-NULLID------------. |   
   '- -collection--+-Objektgruppenname-+-'   

>--+---------------------------------+-------------------------->
   '- -pkgVersion-- -+-AUTO--------+-'   
                     '-Versions-ID-'     

>--+--------------------------------------+--------------------->
   '- -rootPkgName--Stamm_des_Paketnamens-'   

>--+---------------------------------------+-------------------->
   |                             .-FALSE-. |   
   '- -forceSingleBindIsolation--+-TRUE--+-'   

>--+----------------------+------------------------------------->
   '- -xmlFile--XML-Datei-'   

>--+--------------------------------------------+--------------->
   '- -baseDataOverride--Java-Paket.Klassenname-'   

>--+---------------------------+-------------------------------><
   |                  .-AUTO-. |   
   '- -lineSeparator--+-CRLF-+-'   
                      +-CR---+     
                      '-LF---'     

Anmerkungen:
  1. Sie können die Optionen in beliebiger Reihenfolge angeben.

Syntax zur Angabe eines Eintrags 'groupOptions' in einer Optionsdatei für das Dienstprogramm Generator

Dieses Syntaxdiagramm zeigt die Optionen an, die Sie für Schnittstellen festlegen können und die auf eine Gruppe von Java-Schnittstellen mit der Gruppen-ID Gruppenname angewendet werden. Gruppenname wird einer Schnittstelle mit der pureQuery-Anmerkung @Group zugeordnet. Beim Wert von Gruppenname muss die Groß-/Kleinschreibung beachtet werden. Für jeden Wert von Gruppenname ist nur ein Eintrag groupOptions in der Optionsdatei zulässig.

Die Eigenschaft -rootPkgName kann nicht als Option angegeben werden.

Syntaxdiagramm lesenSyntaxdiagramm überspringen
                                         (1)   
>>-+-----------------------------------+------------------------>
   '-groupOptions--.--Gruppenname--=---'       

>-- -driverName--JDBC-Treiber----------------------------------->

>-- -url--Verbindungs-URL-- -username--Benutzer-ID-- -password--Kennwort-->

>--+------------------------+----------------------------------->
   |              .-FALSE-. |   
   '- -noCleanup--+-TRUE--+-'   

>-- -rootPath--Stammverzeichnispfad----------------------------->

>--+------------------------------+----------------------------->
   '- -userClasspath--Klassenpfad-'   

>--+-----------------------+------------------------------------>
   |                   (2) |   
   '-| Traceoptionen |-----'   

>--+-------------------------------------+---------------------->
   |               .-NULLID------------. |   
   '- -collection--+-Objektgruppenname-+-'   

>--+---------------------------------+-------------------------->
   '- -pkgVersion-- -+-AUTO--------+-'   
                     '-Versions-ID-'     

>--+---------------------------------------+-------------------->
   |                             .-FALSE-. |   
   '- -forceSingleBindIsolation--+-TRUE--+-'   

>--+----------------------+------------------------------------->
   '- -xmlFile--XML-Datei-'   

>--+--------------------------------------------+--------------->
   '- -baseDataOverride--Java-Paket.Klassenname-'   

>--+---------------------------+-------------------------------><
   |                  .-AUTO-. |   
   '- -lineSeparator--+-CRLF-+-'   
                      +-CR---+     
                      '-LF---'     

Anmerkungen:
  1. Sie können die Optionen in beliebiger Reihenfolge angeben.
  2. Informationen zur Syntax finden Sie in der Beschreibung dieser Optionen.

Beschreibungen der Optionen

-baseDataOverride Java-Paket.Klassenname
Ermöglicht das Festlegen eines Namens einer Java-Klasse, die die generierte Implementierungsklasse erweitert. Generierte Implementierungsklassen erweitern standardmäßig die Klasse com.ibm.pdq.runtime.generator.BaseData. Durch das Angeben Ihrer eigenen Klasse können Sie die generierte Implementierungsklasse mit Ihren eigenen Methoden erweitern.
-collection Objektgruppenname
Verwenden Sie diese Option, die die Entwicklung von Anwendungen unterstützt, die statisches SQL verwenden, wenn Sie vorhaben, das Dienstprogramm StaticBinder später auszuführen. Diese Option gibt das Qualifikationsmerkmal für die Pakete an, die das pureQuery-Dienstprogramm StaticBinder bindet. Das Qualifikationsmerkmal muss die Integritätsbedingungen für Objektgruppennamen für die von Ihnen verwendete DB2-Datenbank erfüllen.
Wenn Sie diesen Parameter nicht angeben, nimmt er standardmäßig den Wert NULLID an.
-data Pfad
Gibt den absoluten Pfad eines temporären Eclipse-Arbeitsbereichs an, den das Dienstprogramm Generator verwenden kann.
-driverName Name
Der Name des JDBC-Treibers, der zum Herstellen einer Verbindung zur Datenbank verwendet werden soll.
-forceSingleBindIsolation TRUE | FALSE
Gibt an, ob Sie vorhaben, ein DB2-Paket für nur eine einzige Isolationsstufe zu erstellen, und dass daher zum Angeben der Isolationsstufe keine Nummer an den Namen des Pakets angehängt werden soll. Der Standardwert ist FALSE, d. h., dass eine Nummer angehängt wird.
Verwenden Sie diese Option zusammen mit der Option -isolationLevel des Dienstprogramms StaticBinder.

Wenn Sie eine einzelne Anweisungsgruppe mithilfe der Option -isolationLevel in zwei oder drei verschiedene Pakete binden wollen, von denen jedes eine andere Isolationsstufe aufweist, dürfen Sie die Option -forceSingleBindIsolation nicht angeben, wenn Sie das Dienstprogramm Configure für die pureQueryXML-Datei ausführen, die die Anweisungsgruppe enthält.

Nehmen wir beispielsweise an, dass Sie die folgenden beiden Einträge in eine Optionsdatei für das Dienstprogramm StaticBinder aufgenommen haben:

C:/dir/captureFile.pdqxml:MYPKGA = -isolationLevel UR
C:/dir/captureFile.pdqxml:MYPKGA = -isolationLevel CS

Wenn Sie für die Ausführung des Dienstprogramms Configure für die Datei captureFile.pdqxml die Option -forceSingleBindIsolation verwendet haben, führt das Dienstprogramm StaticBinder Folgendes aus:

  1. Binden des Pakets MYPKGA mit der Isolationsstufe UR.
  2. Erneutes Binden des Pakets MYPKGA mit der Isolationsstufe CS.

Das Ergebnis ist ein einzelnes Paket MYPKGA, das mit der Isolationsstufe CS gebunden ist.

Wenn Sie als Ergebnis zwei Pakete MYPKGA wollen, von denen das eine die Isolationsstufe UR und das andere die Isolationsstufe CS aufweist, dürfen Sie die Option -forceSingleBindIsolation nicht angeben, wenn Sie das Dienstprogramm Configure für die Datei captureFile.pdqxml ausführen.

-interface Java-Paket.Schnittstelle.Klasse
Der Name der kompilierten Schnittstelle, für die das pureQuery-Dienstprogramm Generator eine Implementierungsklasse erstellen soll. Der Name muss vollständig mit dem Namen des Java-Pakets qualifiziert sein, in dem sich die Klasse befindet.
Java-Paket.Schnittstelle (am Zeilenanfang in einer Optionsdatei)
Gibt an, dass die Optionen in der Zeile nur für die SQL-Anweisungen in der angegebenen Schnittstelle gelten. Diese Optionen setzen Optionen außer Kraft, die Sie als Standardwerte angeben.
Sie müssen den Namen der Schnittstelle mit dem Namen des Java-Pakets qualifizieren, zu dem die Schnittstelle gehört.
-lineSeparator AUTO|CRLF|CR|LF
Definiert den Zeilenseparator, den das Dienstprogramm Generator in der generierten Implementierungsklasse verwendet.
AUTO
Der von der Java-Systemeigenschaft line.separator definierte Zeilenseparator.
CR
Rücklaufzeichen.
CRLF
Rücklauf- und Zeilenvorschubzeichen.
LF
Zeilenvorschubzeichen. Dies ist der Standardwert.
-noCleanup TRUE|FALSE
Wenn das pureQuery-Dienstprogramm Generator ein Java-Projekt im angegebenen Eclipse-Arbeitsbereich erstellen muss, gibt diese Option an, ob das pureQuery-Dienstprogramm Generator das Java-Projekt nach dem Generieren der Implementierung löschen soll.
TRUE
Das pureQuery-Dienstprogramm Generator löscht das Java-Projekt nicht.
FALSE
Das pureQuery-Dienstprogramm Generator löscht das Java-Projekt. Dies ist der Standardwert.
-optionsFile Dateiname
Der Name der Datei, einschließlich ihres absoluten oder relativen Pfads, in der die Schnittstellen aufgelistet werden, für die Sie Implementierungsklassen generieren wollen.
Eine Optionsdatei kann eine Gruppe von Standardoptionen sowie eine Liste von Schnittstellen mit einer Gruppe von Optionen für jede Schnittstelle enthalten. Wenn Sie eine Optionsdatei angeben, können Sie auch einige Optionen über die Befehlszeile angeben. Als Standardoptionen angegebene Optionen werden für eine Schnittstelle verwendet, außer wenn sie von Optionen überschrieben werden, die speziell für diese Schnittstelle aufgeführt oder über die Befehlszeile angegeben werden.
-password Kennwort
Das Kennwort, das zum Herstellen einer Verbindung zur Datenquelle verwendet werden soll.
-pkgVersion AUTO|Versions-ID
Verwenden Sie diese Option, die die Entwicklung von Anwendungen unterstützt, die statisches SQL verwenden, wenn Sie vorhaben, das Dienstprogramm StaticBinder später auszuführen. Diese Option gibt die Paketversion an, die beim Binden von Paketen verwendet werden soll.

Für DB2 ist es zulässig, dass mehrere Versionen eines Pakets gleichzeitig vorhanden sind. Somit können Sie neue Pakete binden, ohne ältere Versionen von Paketen mit demselben Namen ersetzen zu müssen. Wenn bei neuen Paketen Probleme auftreten, können Sie eine ältere Version dieses Pakets verwenden.

Wenn Sie diese Option nicht angeben, werden Datenbankpakete, die aus nachfolgenden Bindevorgängen resultieren, ohne eine Version erstellt.

AUTO
Gibt an, dass die Versions-ID unter Verwendung der aktuellen Zeitmarke automatisch generiert wird. Für die Versions-ID wird eine einzige Zeitmarke verwendet.
Versions-ID
Gibt die Versions-ID für ein Paket an. Die Zeichenfolge muss für die von Ihnen verwendete Version von DB2 gültig sein.

Die Prüfung der Version während der Laufzeit basiert auf dem Konsistenztoken, nicht auf dem Versionsnamen.

-rootPkgName Stamm_des_Paketnamens
Verwenden Sie diese Option, die die Entwicklung von Anwendungen unterstützt, die statisches SQL verwenden, wenn Sie vorhaben, das Dienstprogramm StaticBinder später auszuführen. Diese Option gibt den Stamm des Namens an, der für DB2-Pakete verwendet werden soll. Wenn Sie Pakete erstellen und binden, werden an diesen Namen Ziffern angehängt, die die Isolationsstufen angeben. An die Pakete werden die vollständigen Namen (Stamm des Namens plus Ziffer für die Isolationsstufe) vergeben. Stamm_des_Paketnamens muss den Integritätsbedingungen entsprechen, die von der von Ihnen verwendeten DB2-Datenbank festgelegt werden.

Wenn Sie vorhaben, mit dem pureQuery-DienstprogrammStaticBinder DBRM-Dateien zu generieren anstatt DB2-Pakete zu erstellen, muss Stamm_des_Paketnamens in Großbuchstaben geschrieben sein und darf nicht länger als 7 Zeichen sein. Wenn Sie mit dem Dienstprogramm StaticBinder eine DBRM-Datei generieren und die Kombination aus Stamm_des_Paketnamens und den zusätzlichen Zeichen für die Isolationsstufe länger als 7 Zeichen ist, gibt das Dienstprogramm StaticBinder eine Ausnahmebedingung aus.

Da Paketnamen innerhalb einer Datenbank eindeutig sein müssen, können Sie einen Stammpaketnamen nicht für mehr als eine Schnittstelle angeben. Sie können einen Stammpaketnamen über die Befehlszeile angeben, wenn Sie dort genau eine Schnittstelle angeben. Sie können einen Stammpaketnamen für Schnittstellen auch in einer Optionsdatei angeben. Dies darf aber nicht als Teil der defaultOptions-Zeile erfolgen.

Diese Option kann nicht mit der Option -rootPkgPattern angegeben werden.

-rootPkgPattern INTERFACE|INTERFACE_JAVAPKG|JAVAPKG_INTERFACE
Steuert, wie der Java-Schnittstellenname und der Java-Paketname zur Erstellung eines DB2-Paketnamens verwendet werden. Diese Option gibt Stammpaketnamen an, ohne dass die Option -rootPkgName verwendet wird. Diese Option kann nicht mit der Option -rootPkgName verwendet werden.

Diese Option kann mit der Option -rootPkgExclusion angegeben werden, um die vom Dienstprogramm StaticBinder erstellten DB2-Paketnamen zu steuern.

In der folgenden Liste werden die unterstützten Werte beschrieben:
INTERFACE
Der Stammname wird auf die standardmäßige Weise nur mit dem Java-Schnittstellennamen bestimmt.
INTERFACE_JAVAPKG
Der statische Name des DB2-Stammpakets wird aus dem pureQuery-Schnittstellennamen, gefolgt vom Java-Paketnamen, erstellt.
JAVAPKG_INTERFACE
Der statische Name des DB2-Stammpakets wird aus dem Java-Paketnamen, gefolgt vom pureQuery-Schnittstellennamen, erstellt.

Beim Erstellen des Stammpaketnamens aus einem Java-Paketnamen wird der Punkt als Begrenzungszeichen durch ein Unterstreichungszeichen ersetzt.

Wenn die Gesamtlänge des Pfads für das Java-Paket plus dem Schnittstellennamen größer als der maximal für die Datenbank zulässige Wert minus 1 ist, wird ein Fehler ausgegeben und das Paket wird nicht gebunden.

Wenn der Schnittstellenname com.acme.payroll.report.monthly.CommissionData ist, finden Sie in der folgenden Tabelle den generierten Stammpaketnamen für die Werte der Option -rootPkgPattern:

Tabelle 1. Der erstellte Stammpaketname auf der Basis von Java-Schnittstellennamens com.acme.payroll.report.monthly.CommissionData
Optionswert für -rootPkgPattern Erstellter DB2-Stammpaketname
INTERFACE CommissionData
INTERFACE_JAVAPKG CommissionData_com_acme_payroll_report_monthly
JAVAPKG_INTERFACE com_acme_payroll_report_monthly_CommissionData
JAVAPKG_INTERFACE unter Angabe der Option -rootPkgExclusion="com.acme payroll_report_monthly_CommissionData
Anmerkung: DB2 for iSeries ermöglicht eine maximale Paketnamenlänge von 10 Zeichen. Diese Option wird nicht für die Verwendung mit DB2 for iSeries empfohlen. Die maximale Länge beträgt 128 Zeichen für die meisten unterstützten Versionen von DB2 for z/OS-Datenbanken und von Datenbanken mit DB2 for Linux, UNIX, and Windows.
-rootPkgExclusion="Paketpräfix"
Gibt an, dass das Dienstprogramm Generator die durch Paketpräfix angegebene Zeichenfolge entfernt, wenn der Stammpaketname erstellt wird. Diese Option kann nur angegeben werden, wenn die Option -rootPkgPattern ebenfalls mit einem Wert INTERFACE_JAVAPKG oder JAVAPKG_INTERFACE angegeben wird.

Paketpräfix gibt einen durch Punkt begrenzten Namen an, der den ersten Teil des Java-Paketnamens bezeichnet.

Wenn z. B. alle Java-Paketnamen in einem Projekt mit com.acme beginnen, können Sie mit dieser Option diesen überzähligen Teil aus den generierten Paketnamen entfernen. Wenn der Java-Paketname bei der Generierung nicht mit der angegebenen Zeichenfolge beginnt, versucht das Dienstprogramm, den vollständigen Java-Paketnamen zu verwenden.

Wenn z. B. der Java-Schnittstellenname com.acme.payroll.report.monthly.CommissionData ist und die Option -rootPkgExclusion="com.acme" angegeben wird, wird die Zeichenfolge com.acme bei der Erstellung des DB2-Stammpaketnamens ausgeschlossen.

-rootPath Stammverzeichnispfad
Der absolute Pfad zum Verzeichnis, das die Schnittstellen enthält, die vom Dienstprogramm Generator verarbeitet werden sollen.

Das Verzeichnis könnte zum Beispiel C:\user\app1\ sein. Innerhalb dieses Verzeichnisses befänden sich die Verzeichnisse, die Java-Paketen entsprechen, beispielsweise C:\user\app1\com\myCompany\.

Mit der Option -interface des Dienstprogramms Generator geben Sie den Namen der Schnittstelle an, die vom Dienstprogramm verarbeitet werden soll, wobei der Name mit dem Namen des Pakets qualifiziert wird, wie im folgenden Beispiel gezeigt: com.myCompany.MyInterface

Die Schnittstelle muss die Fähigkeit zum Kompilieren besitzen.

Das Dienstprogramm Generator generiert eine Implementierungsklasse in demselben Verzeichnis wie die entsprechende Schnittstelle. Deshalb wird jede Implementierungsklasse in demselben Java-Paket erstellt wie die zugehörige Schnittstelle.

Wenn Sie das pureQuery-Dienstprogramm Generator ausführen, wobei -rootPath auf C:\user\app1\ und -interface auf com.myCompany.MyInterface gesetzt ist, generiert das Dienstprogramm die Klasse MyInterfaceImpl.java im Verzeichnis C:\user\app1\com\myCompany\. Der vollständig qualifizierte Name der Klasse ist com.myCompany.MyInterfaceImpl.

Wenn Sie die Option -rootPath nicht verwenden, verwendet das pureQuery-Dienstprogramm Generator das aktuelle Arbeitsverzeichnis.

Traceoptionen
Sie können die Datei, in der Nachrichten protokolliert werden sollen, und die zu protokollierende Informationsebene angeben.
Syntaxdiagramm lesenSyntaxdiagramm überspringen
>>-+------------------------+--+---------------------------+---><
   '- -traceFile--Dateiname-'  |               .-OFF-----. |   
                               '- -traceLevel--+-ALL-----+-'   
                                               +-SEVERE--+     
                                               +-WARNING-+     
                                               +-INFO----+     
                                               +-CONFIG--+     
                                               +-FINE----+     
                                               +-FINER---+     
                                               '-FINEST--'     

-traceFile Dateiname
Gibt den absoluten oder relativen Pfad und den Namen der Datei an, die zum Protokollieren von Informationen zur Operation verwendet werden soll.
Falls die Datei bereits vorhanden ist, hängt pureQuery neue Nachrichten an den vorhandenen Inhalt der Datei an. Standardmäßig werden die Einträge in 'System.err' geschrieben.
-traceLevel OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST|ALL
Gibt den zu protokollierenden Informationstyp an. Die Standardstufe ist OFF. Wenn Sie keine Datei angeben, in die die Protokolleinträge geschrieben werden sollen, und Sie diese Option auf einen anderen Wert als OFF setzen, werden die Einträge in 'System.err' geschrieben.
-url Verbindungs-URL
Die JDBC-Typ-4-URL für die Verbindung zur Datenbank.
-username Benutzer-ID
Die Benutzer-ID, die zum Herstellen einer Verbindung zur Datenquelle verwendet werden soll.
-userClasspath Klassenpfad
Gibt einen Klassenpfad an, der die Pfade von pdq.jar, pdqmgmt.jar - den JAR-Dateien für Ihren JDBC-Treiber - und allen anderen JAR- oder Klassendateien bereitstellt, die pureQuery zum Auflösen aller Klassendateiabhängigkeiten in den Schnittstellen benötigt.
-xmlFile XML-Datei
Der Name der XML-Konfigurationsdatei, die SQL enthält, die die SQL in den Methoden angibt oder überschreibt, die in der Schnittstelle definiert sind. Eine XML-Konfigurationsdatei kann auch die Definitionen der entsprechenden Beans überschreiben.

Feedback