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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - 编程 » SQL Anywhere 数据访问 API » SQL Anywhere 嵌入式 SQL

 

SQL 预处理器

SQL 预处理器会在编译器运行之前处理包含嵌入式 SQL 的 C 或 C++ 程序。

语法
sqlpp [  options ] input-file [  output-file ]
选项 说明
-d 生成减小数据空间大小的代码。数据结构在使用之前执行时会得到重用和初始化。这会增大代码的大小。
-e level

将任何未包含在指定标准中的静态嵌入式 SQL 标记为错误。level 值表示要使用的标准。例如,sqlpp -e c03 ... 标记任何未包含在核心 SQL/2003 标准中的语法。所支持的 level 值为:

  • c03   标记不是核心 SQL/2003 语法的语法

  • p03   标记非完整 SQL/2003 语法的语法

  • c99   标记不是核心 SQL/1999 语法的语法

  • p99   标记非完整 SQL/1999 语法的语法

  • e92   标记非入门级 SQL/1992 语法的语法

  • i92   标记非中级 SQL/1992 语法的语法

  • f92   标记非完整 SQL/1992 语法的语法

  • t   标记非标准主机变量类型

  • u   标记 UltraLite 不支持的语法

为了与以前的 SQL Anywhere 版本兼容,也可指定 e、i 和 f(分别对应 e92、i92 和 f92)。

-h width 将 sqlpp 输出的最大行长度限制为 width。续行符是反斜杠 (\),而 width 的最小值是 10。
-k 通知预处理器要编译的程序包括 SQLCODE 的用户声明。定义必须是 LONG 类型,但不必在声明部分内。
-n 在 C 文件中生成行号信息。该信息包括生成的 C 代码中适当位置处的 #line 指令。如果您使用的编译器支持 #line 指令,使用此选项可使编译器按照 SQC 文件(其中带有嵌入式 SQL)的行号报错,而不是用 SQL 预处理器生成的 C 文件的行号报错。此外,#line 指令由源代码级调试程序间接使用,以便您可以在查看 SQC 源文件时进行调试。
-o 操作系统

指定目标操作系统。支持的操作系统有:

  • WINDOWS   Microsoft Windows

  • UNIX   当创建 32 位 Unix 应用程序时可使用此选项。

  • UNIX64   当创建 64 位 Unix 应用程序时可使用此选项。

-q 安静模式—不显示消息。

-r-

生成非重入代码。有关重入代码的详细信息,请参见多线程代码或重入代码的 SQLCA 管理
-s len 设置预处理器放入 C 文件的最大大小的字符串。对于长度大于此值的字符串,将使用一组字符('a''b''c' 等)对其进行初始化。大多数 C 编译器都对可以处理的字符串大小有限制。此选项用于设置其上限。缺省值是 500。
-u 为 UltraLite 生成代码。有关详细信息,请参见嵌入式 SQL API 参考
-w level

将任何未包含在指定标准中的静态嵌入式 SQL 标记为警告。level 值表示要使用的标准。例如,sqlpp -w c03 ... 标记任何未包含在核心 SQL/2003 语法中的 SQL 语法。所支持的 level 值为:

  • c03   标记不是核心 SQL/2003 语法的语法

  • p03   标记非完整 SQL/2003 语法的语法

  • c99   标记不是核心 SQL/1999 语法的语法

  • p99   标记非完整 SQL/1999 语法的语法

  • e92   标记非入门级 SQL/1992 语法的语法

  • i92   标记非中级 SQL/1992 语法的语法

  • f92   标记非完整 SQL/1992 语法的语法

  • t   标记非标准主机变量类型

  • u   标记 UltraLite 不支持的语法

为了与以前的 SQL Anywhere 版本兼容,也可指定 e、i 和 f(分别对应 e92、i92 和 f92)。

-x 将多字节字符串更改为转义序列,以便它们可以通过编译器。
-z cs

指定归类序列。要查看建议使用的归类序列的列表,请在命令提示符处输入 dbinit -l。

归类序列用于帮助预处理器理解在程序源代码中使用的字符,例如,识别出适合在标识符中使用的字母字符。如果未指定 -z,则预处理器将尝试根据操作系统和 SALANG 与 SACHARSETE 环境变量确定要使用的合理归类。请参见SACHARSET 环境变量SALANG 环境变量

input-file 要处理的包含嵌入式 SQL 的 C 或 C++ 程序。
output-file 由 SQL 预处理器创建的 C 语言源文件。
说明

SQL 预处理器将 input-file 中的 SQL 语句转换为 C 语言源代码并将源代码放入 output-file 中。含有嵌入式 SQL 的源程序的扩展名通常为 .sqc。缺省的输出文件名为 input-file,扩展名为 .c。如果 input-file 的扩展名为 .c,则缺省的输出文件扩展名是 .cc

另请参见