Erledigt die Vorverarbeitung eines C-/C++-Programms, das Embedded SQL (ESQL) enthält, sodass der für dieses Programm erforderliche Code vor dem Aufruf des Compilers generiert werden kann. Die untenstehende Tabelle enthält aus Vollständigkeitsgründen die gesamte Menge der Befehlszeilenoptionen, die für UltraLite einzig relevanten Optionen sind indessen -eu und -wu.
sqlpp -u [ Parameter ] ESQL_Dateiname [ Ausgabedateiname ]
Option | Beschreibung |
---|---|
-d | Generiert Code, der die Datenspeichergröße verringert, aber die Codegröße erhöht. Datenstrukturen werden vor der Verwendung zur Ausführungszeit wieder benutzt und initialisiert. |
-e Stufe |
Diese Option 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: Die folgenden Werte sind für Stufe zulässig:
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 der getrennten Ausgabezeilen durch sqlpp in der .c-Datei auf Breite. Am Ende von getrennten Zeilen werden Backslashes hinzugefügt, sodass ein C-Compiler die getrennten Zeilen als eine durchgängige Zeile analysieren kann. Der Standardwert ist keine maximale Zeilenlänge (Ausgabezeilen werden standardmäßig nicht unterteilt). |
-k | Teilt dem Präprozessor mit, dass das zu kompilierende Programm eine Benutzerdeklaration von SQLCODE enthält |
-n |
Generiert Zeilennummerinformationen in der C-Datei, wobei Verwenden Sie diese Option, um die Quelle in den entsprechenden Zeilenzahlen in der Datei ESQL_Dateiname und nicht in der Datei Ausgabedateiname zu untersuchen und Quellfehler dort zu melden. |
-o BS-Angabe | Für UltraLite nicht anwendbar. |
-q | Führt das Dienstprogramm im stillen Modus aus. Informative Banner, Versionsnummern und Statusmeldungen werden unterdrückt. Fehlermeldungen werden jedoch weiter angezeigt. |
-r | Für UltraLite nicht anwendbar. |
-s Zeichenfolgenlä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 | Für UltraLite erforderlich. Generiert eine Ausgabe, die speziell für UltraLite-Datenbanken erforderlich ist. |
-w Stufe |
Nicht-konforme SQL-Syntax als Warnung kennzeichnen. Der Wert Stufe gibt den zu verwendenden Standard an. Beispiel: Die folgenden Werte sind für Stufe zulässig:
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 Kollatierungssequenz | Legt die Kollatierungssequenz fest. |
Dieser Präprozessor konvertiert die SQL-Anweisungen in der Eingabedatei in C/C++. Er schreibt das Ergebnis in die Ausgabedateiname. Die normale Dateinamenerweiterung für Quelldateien in Embedded SQL ist sqc. Der Standard-Ausgabedateiname ist der Basisname von esql-Dateiname mit der Erweiterungc. Wenn der esql-Dateiname jedoch bereits die Erweiterung .c hat, ist die Standarderweiterung für die Ausgabe .cc.
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. In UltraLite umfassen Kollatierungen eine Codepage sowie eine Sortierreihenfolge. Wenn Sie -z nicht angeben, versucht der Präprozessor, eine geeignete Kollatierung für das Betriebssystem zu ermitteln.
Sie können eine Liste der unterstützten Kollatierungen (und der entsprechenden Codepage) anzeigen, indem Sie den Befehl ulinit -Z ausführen.
Der SQL-Präprozessor (sqlpp) ist in der Lage, statische SQL-Anweisungen in einer eingebetteten SQL-Anwendung zur Kompilierungszeit zu kennzeichnen. Diese Funktion kann besonders beim Entwickeln einer UltraLite-Anwendung nützlich sein, um SQL-Anweisungen auf UltraLite-Kompatibilität zu prüfen. Sie können die Kompatibilität von SQL sowohl für SQL Anywhere als auch für UltraLite-Anwendungen mithilfe der Optionen -e bzw. -w testen. Einen Überblick über den SQL Flagger finden Sie unter SQL-Kompatibilität mithilfe des SQL Flagger prüfen.
Der folgende Befehl bearbeitet die Embedded SQL-Datei srcfile.sqc im dialogfreien Betrieb für eine UltraLite-Anwendung vor.
sqlpp -u -q MyEsqlFile.sqc |
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |