Aufruf:
Die ER2SQL wird mit folgenden Kommandozeilen-Parametern aufgerufen:
ER2SQLO.EXE <Definitionsfile> [<Defaultausgabefile>] <cmd> <cmd> ...
- Der SQL-Code für ORACLE wird von “ER2SQLO.EXE”
produziert. Code für den Microsoft SQL-Server wird von
“ER2SQLM.EXE” produziert.
- <Definitionsfile> ist der Name und Pfad der
ASCII-Datei, aus der Datenbank- und Virtab-Definitionen
gelesen werden. Dies ist der einzige Pflichtparameter.
- <Defaultsausgabefile> ist die Datei, in die ER2SQL
seine Ausgabe schreibt, wenn in einzelnen <cmd>’s
keine andere Datei angegeben ist. Fehlt diese Option, gibt
ER2SQL seinen Text in die Standardausgabe aus.
-
Unbekannte <cmd> werden stillschweigend ignoriert, ER2SQL protokolliert aber die durchgeführten Aktionen auf der Standardausgabe.
-
<cmd> sind einer oder mehrere der folgenden Befehlsoptionen:
Optionen zur Erzeugung einer Datenbank-Definition:
<cmd>
|
Bedeutung
|
-defdbtables
|
SQL-Code für Datenbank-Basistabellen und Sequenzen
erzeugen.
|
-defdbindexes
|
SQL-Code für Standard-Indizes auf den für
Datenbank-Basistabellen erzeugen..
|
-defdboptindexes
|
Optimale Indizes für die Datenbank-Basistabellen
erzeugen, so dass alle alle Virtabs im
Definitionsfile optimal laufen.
|
-defdbconstraints
|
SQL-Code für Constraints auf den Datenbank-Basistabellen.
|
-dropdbtables
|
SQL-Code für die Löschung der
Datenbank-Basistabellen und Sequenzen.
|
-dropdbindexes
|
SQL-Code für die Löschung der Indizes
|
-dropdboptindexes
|
SQL-Code für die Löschung der optimierten Indizes
|
-dropdbconstraints
|
SQL-Code für die Löschung der Constraints
|
Optionen zur Code-Erzeugung für serverseitige Virtab-Objekte:
<cmd>
|
Bedeutung
|
-vt:<virtabname|pattern>
[,<virtabname|pattern>,...]
|
Ausgabe von SQL-Code nur für die angegebene Virtabs.
Angegeben wird eine Komma-Liste von Namen. Fehlt
dies Angabe, wird für alle definierten Virtabs
SQL-Code erzeugt.
Ist ein <virtabname> = “ALL”, wird ebenfalls Code für alle Virtabs erzeugt.
Ist “<virtabname> = “ALL_DEPENTENDS”, so
wird zusätzlich auch noch COde für alle Virtabs
erzeugt, die wegen USEs oder MODIFIES von den
gelisteten Virtabs abhängen.
Virtabnamen dürfen hier auch mehrmals das
Wildcardzeichen “*” enthalten, es werden dann alle
Virtabs erzeugt, deren Namen auf das angegebene
Muster passt.
|
-defview
|
SQL-Code für die Views der Virtabs.
|
-defprocs
|
SQL-Code für die INSERT- / UPDATE- /
DELETE-Procedures der Virtabs.
|
-deftrigger
|
SQL-Code für die View-Trigger der Virtabs.
|
-dropview
|
SQL-Code fuer die Loeschung der Virtab-Views
|
-dropprocs
|
SQL-Code fuer die Loeschung der Virtab-Procedures
|
-grantrole:<rollenname>
|
Erzeugt PUBLIC SYNONYMS für View und Proceduren und
GRANTed <rollenname> die Zugriffsrechte für die
Benutzung.
|
-defcolprocs
|
Erzeugt Muster für korrekte ONINSERT-, ONUPDATE-,
ONDELETE- und .ONGET-Procedures.
|
-deftable
|
SQL-Code für das Tabellen-Interface der Virtabs
(samt Triggern). Ist seit ORACLE 9 überholt..
|
-droptable
|
SQL-Code für die Löschung der Virtab-Interface-Tabellen.
|
Der Befehlsblock "-vt:<virtabname>... -def... -def... -drop... -drop... " darf in der gleichen
Kommandozeile mehrmals für verschiedene <virtabname> angegeben werden.
Optionen zur Modifikation des Codes der serverseitigen Virtab-Objekte:
<cmd>
|
Bedeutung
|
-autovr
|
Virtabs direkt nach der Definition wie normale
Tables zur internen DB-Beschreibung hinzufügen.
|
-vr:<ausgabefile>
|
Für definierte Virtabs eine Datenbank-Beschreibung
aus TABLE und LINK-Anweisungen erzeugen, als ob sie
normale Tables wären.
("VR" = virtual entity relationship diagram)
|
-v_
|
Aliase für die Virtabs-Views mit dem Prefix
"V_" statt “VT_” erzeugen
(Abwärtskompatibilität).
|
-oldprocnames
|
Alte, lange Prozedurnamen erzeugen:
“PR_INSERT_*” statt “PI_*”, (Abwärtskompatibilität)
|
-noerrorvardiag
|
Verhindert die Ausgabe von Variablenwerten für
2000x-Fehler in den Prozeduren.
(Kürzere Prozeduren).
|
-nobidiprocparms
|
Keine Rückgabe von Werte über die Parameter der
stored Prozedures (Abwärtskompatibilität)
|
-nofkcheck
|
Keine Test auf identische FKs in INSERT-Procedure
(kein Fehler 20010)
|
-fastdeleteproc
|
Keine Abhängigkeitsanalyse durch FN_LN*-Functions in
den DELETE-Procedures.
|
-nonochangeprocs
|
Für NOCHANGE-Virtabs (Views) werden keine INSERT-,
UPDATE oder DELETE-Prozeduren erzeugt; ebenso keine
View-Trigger.
|
-info:<text>
|
Eigener Text, der in allen produzierten
Sourcen im Headerkommentar zu lesen ist.
|
-upcase
|
alle SQL-Objektnamen im erzeugten Code in
Grosschrift darstellen.
|
Optionen zur Codeerzeugung für die Application-Interfaces:
<cmd>
|
Bedeutung
|
-delphi[:<ausgabefile>]
|
Delphi-Interface-Unit BDE, Variante 1:
Benötigt modifiziertes Package “db.pas”.
|
-delphi2[:<ausgabefile>]
|
Delphi-Interface-Unit BDE, Variante 2.
Benutzt BDE “cached updates”
|
-delphi3[:<ausgabefile>]
|
Delphi-Interface-Unit BDE, Variante 3. Benutzt
BDE “cached updates”, und produziert visuelle
Komponenten.
|
-delphi3_odac[:<ausgabefile>]
|
Delphi-Interface-Unit ODAC, Variante 3
Benutzt die ODAC-Komponenten statt der BDE.
|
-delphi3_sqldirect[:<ausgabefile>]
|
Delphi-Interface-Unit SQLDirect, Variante 3
Benutzt die SQLDirect-Komponenten statt der BDE.
|
-dbname:<name>
|
Datenbankname für Delphi-Interface-Units angeben.
(Zwang)
|
-dbschema:<name>
|
Schema der Virtabs-Views und Procedures für
Delphi-Interface-Units angeben (Zwang)
|
-delphiclasses:<baseclass-unit>,
<baseclass of TVirtabTable>,
<baseclass of TVirtabQuery>,
<baseclass of TStoredProc>
|
Unit (*.pas) und Klassen, wenn nicht die
Virtab-Datasets nicht von TTable/TQuery/TStoredProc
abgeleitet werden soll. (Diese Option muss VOR der
-delphi...-Option kommen!)
|
-java[:<ausgabefile>]
|
Java-Klasse für JDBC-RecordSet, Variante 1.
|
Debugging und Diagnose:
<cmd>
|
Bedeutung
|
-report_columns[:<ausgabefile>]
|
Ausgabe einer Datei, die für alle Spalten aller
Virtabs verschiedene Attribute darstellt.
|
-report_dependencies[:<ausgabefile>]
|
Ausgabe einer Datei, die die Abhängigkeiten der
Virtabs untereinander grafisch darstellt.
|
-report_tableuse[.<ausgabefile>]
|
Ausgabe von Infos über die Verwendung der
Datenbanktabellen in den Virtabs. Anzeige, welche
Basistabellen in welchen Virtabs potentiell
überflüssig sind.
|
-listvt<:ausgabefile>
|
Ausgabe einer Datei, die eine Liste aller
Virtabnamen enthält.
|
-test[:<ausgabefile>]
|
Testausgabe der internen Darstellung der Virtabs.
|
-debugcode
|
Virtab-Procedures mit Debugausgabe nach Table
VTDEBUGOUT erzeugen.
|
Beispiele:
1) Erzeugen der Datenbankdefinition:
er2sqlo.exe demo.vt demodb.sql -defdbtables -defdbindexes
-defdbconstraints
2) Erzeugen der View, Prozeduren und Trigger:
er2sqlo.exe demo.vt demo.sql -defview -defprocs -deftrigger
3) Erzeugen des Applikation-Interfaces für Borland-Delphi (Virtab-Datasets werden von
eigenen Datasets abgeleitet):
er2sqlo.exe demo.vt demo.sql -dbname:ORCL -dbschema:VTDEMO
-delphiclasses:MyDatasetsU,TMyTable,TMyQuery,TMyStoredProc
-delphi3:vt_orcl.pas
4) Erzeugen des Java/JDBC-Interfaces:
er2sqlo.exe demo.vt demo.sql -java:virtab_orcl_resultset.java
|