Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Programmierung » SQL Anywhere Datenzugriff-APIs » SQL Anywhere Embedded SQL

 

SQL-Präprozessor

Der SQL-Präprozessor bearbeitet ein C- oder C++-Programm, das Embedded SQL-Code enthält, bevor der Compiler gestartet wird.

Syntax
sqlpp [  Optionen ] Eingabedatei [  Ausgabedatei ]
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: sqlpp -e c03 ... kennzeichnet alle Syntaxelemente, die nicht Teil des SQL/2003-Kernstandards sind. Die folgenden Werte werden für Stufe unterstützt:

  • c03   Kennzeichnet Syntax, die nicht SQL/2003-Kernsyntax ist

  • p03   Kennzeichnet Syntax, die nicht Full-SQL/2003-Syntax ist

  • c99   Kennzeichnet Syntax, die nicht SQL/1999-Kernsyntax ist

  • p99   Kennzeichnet Syntax, die nicht Full-SQL/1999-Syntax ist

  • e92   Kennzeichnet Syntax, die nicht Entry-Level der SQL/1992 Syntax ist.

  • i92   Kennzeichnet Syntax, die nicht Intermediate-Level der SQL/1992 Syntax ist.

  • f92   Kennzeichnet Syntax, die nicht Full-SQL/1992 Syntax ist.

  • t   Kennzeichnet Nicht-Standard-Hostvariablentypen

  • u   Kennzeichnet Syntax, die nicht von UltraLite unterstützt wird

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.
-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:

  • WINDOWS   Microsoft Windows

  • UNIX   Verwenden Sie diese Option, wenn Sie eine 32-Bit-Unix-Anwendung erstellen.

  • UNIX64   Verwenden Sie diese Option, wenn Sie eine 64-Bit-Unix-Anwendung erstellen.

-q Dialogfreier Modus - keine Meldungen ausgeben.

-r-

Nicht wiedereintretenden (non-reentrant) Code generieren. Weitere Hinweise zu reentrant-Code finden Sie unter SQLCA-Verwaltung für Code mit mehreren Threads oder "reentrant"-Code.
-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. Weitere Hinweise finden Sie unter Embedded SQL API-Referenz.
-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: sqlpp -w c03 ... kennzeichnet alle SQL-Syntaxelemente, die nicht Teil der SQL/2003-Kernsyntax sind. Die folgenden Werte werden für Stufe unterstützt:

  • c03   Kennzeichnet Syntax, die nicht SQL/2003-Kernsyntax ist

  • p03   Kennzeichnet Syntax, die nicht Full-SQL/2003-Syntax ist

  • c99   Kennzeichnet Syntax, die nicht SQL/1999-Kernsyntax ist

  • p99   Kennzeichnet Syntax, die nicht Full-SQL/1999-Syntax ist

  • e92   Kennzeichnet Syntax, die nicht Entry-Level der SQL/1992 Syntax ist.

  • i92   Kennzeichnet Syntax, die nicht Intermediate-Level der SQL/1992 Syntax ist.

  • f92   Kennzeichnet Syntax, die nicht Full-SQL/1992 Syntax ist.

  • t   Kennzeichnet Nicht-Standard-Hostvariablentypen

  • u   Kennzeichnet Syntax, die nicht von UltraLite unterstützt wird

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, geben Sie an der Eingabeaufforderung dbinit -l ein.

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. Weitere Hinweise finden Sie unter SACHARSET-Umgebungsvariable und SALANG-Umgebungsvariable.

Eingabedatei Ein C- oder C++-Programm, das zu verarbeitende Embedded SQL-Elemente enthält
Ausgabedatei Die C-Quelldatei, die vom SQL-Präprozessor erstellt wurde
Beschreibung

Der SQL-Präprozessor übersetzt die SQL-Anweisungen in der Eingabedatei in C-Quellcode, der in der Ausgabedatei gespeichert wird. Die normale Dateinamenerweiterung für Quelldateien mit Embedded SQL ist .sqc. Der voreingestellte Name für die Ausgabedatei ist Eingabedatei mit der Erweiterung .c. Falls die Eingabedatei bereits die Erweiterung .c hat, erhält die Ausgabedatei standardmäßig die Erweiterung .cc.

Siehe auch