Der SQL-Präprozessor ist eine Programmdatei namens sqlpp.
Die Präprozessor-Befehlszeile sieht wie folgt aus:
sqlpp [ options ] sql-filename [ output-filename ]
Der Präprozessor übersetzt die Embedded SQL-Anweisungen in einer C- oder C++-Quelldatei in C-Code und schreibt das Ergebnis in eine Ausgabedatei. Ein C- oder C++-Compiler wird für die Verarbeitung der Ausgabedatei eingesetzt. Die normale Dateinamenerweiterung für Quelldateien mit Embedded SQL ist .sqc. Der voreingestellte Name für die Ausgabedatei ist sql-filename mit der Erweiterung .c. Wenn sql-filename die Erweiterung .c hat, wird die Standarderweiterung für die Ausgabedatei auf .cc geändert.
Wenn eine Anwendung für die Verwendung mit einer neuen Version der Datenbank-Interfacebibliothek neu aufgebaut wird, müssen die Embedded SQL-Dateien mit einem SQL-Präprozessor derselben Version vorverarbeitet werden.
Die folgende Tabelle beschreibt die Präprozessoroptionen.
Option | Beschreibung |
---|---|
-d | Code erzeugen, der die Größe des Datenbereichs reduziert. Datenstrukturen werden vor der Verwendung zur Ausführungszeit wieder benutzt und initialisiert. Dies erhöht die Code-Größe. |
-e Stufe |
Kennzeichnet jedes Static Embedded SQL-Element als Fehler, das nicht Teil eines angegebenen Standards ist. Der Wert Stufe gibt den zu verwendenden Standard an. Beispiel:
Für die Kompatibilität mit früheren Versionen von SQL Anywhere können Sie auch e, i und f angeben, die e92, i92 bzw. f92 entsprechen. |
-h Breite | Begrenzt die maximale Länge von Ausgabezeilen durch sqlpp auf Breite. Das Fortsetzungszeichen ist ein Backslash (\) und der Mindestwert von Breite ist 10. |
-k | Teilt dem Präprozessor mit, dass das zu kompilierende Programm eine Benutzerdeklaration von SQLCODE enthält Die Definition muss vom Typ "long" sein, doch sie muss sich nicht in einem Deklarationsabschnitt befinden. |
-m Modus |
Geben Sie den Cursor-Aktualisierbarkeitsmodus an, falls dieser nicht explizit in der Embedded SQL-Anwendung angegeben ist. Der Modus kann einer der folgenden sein:
|
-n | Erzeugt Zeilennummerinformationen in der C-Datei. Diese umfassen #line-Direktiven an den betreffenden Stellen im erzeugten C-Code. Wenn der von Ihnen verwendete Compiler die Anweisung #line unterstützt, lässt diese Option den Compiler Fehler in Zeilennummern in der SQC-Datei protokollieren (der Datei mit Embedded SQL), und zwar im Gegensatz zum Protokollieren von Fehlern in Zeilennummern in der C-Datei, die vom SQL-Präprozessor erzeugt wird. Ebenso werden die #line-Anweisungen indirekt vom Source Level Debugger verwendet, sodass Sie bei der Fehlersuche gleichzeitig die SQC-Quelldatei sehen können. |
-o Betriebssystem |
Geben Sie das Zielbetriebssystem an. Folgende Betriebssysteme werden unterstützt:
|
-q | Dialogfreier Modus - keine Meldungen ausgeben. |
-r- |
Nicht wiedereintretenden (non-reentrant) Code generieren. |
-s Länge | Setzt die maximale Größe für Zeichenfolgen fest, die der Präprozessor in die C-Datei ausgibt. Zeichenfolgen, die länger als dieser Wert sind, werden mithilfe einer Liste von Zeichen initialisiert ('a','b','c' etc.). Die meisten C-Compiler sind in der Größe der Zeichenfolgenliterale begrenzt, die Sie handhaben können. Mit dieser Option wird die obere Grenze festgesetzt. Der Standardwert ist 500. |
-u | Code für UltraLite generieren. |
-w Stufe |
Kennzeichnet jedes Static Embedded SQL-Element als Warnung, das nicht Teil eines angegebenen Standards ist. Der Wert Stufe gibt den zu verwendenden Standard an. Beispiel:
Für die Kompatibilität mit früheren Versionen von SQL Anywhere können Sie auch e, i und f angeben, die e92, i92 bzw. f92 entsprechen. |
-x | Ändert Mehrbyte-Zeichenfolgen in Escape-Sequenzen, sodass sie vom Compiler verarbeitet werden können. |
-z cs |
Legt die Kollatierungssequenz fest. Um eine Liste mit den empfohlenen Kollatierungssequenzen zu erhalten, führen Sie an der
Eingabeaufforderung Die Kollatierungssequenz hilft dem Präprozessor, die Zeichen zu verstehen, die im Quellcode oder Programm verwendet werden, z.B. bei der Identifizierung von alphabetischen Zeichen, die für die Verwendung in Bezeichnern geeignet sind. Wenn -z nicht angegeben ist, versucht der Präprozessor eine sinnvolle Kollatierung zu ermitteln, basierend auf dem Betriebssystem und den Umgebungsvariablen SALANG und SACHARSET. |
sql-filename | Ein C- oder C++-Programm, das zu verarbeitende Embedded SQL-Elemente enthält |
output-filename | Die C-Quelldatei, die vom SQL-Präprozessor erstellt wurde |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |