仅适用于嵌入式 SQL 静态开发模型。
SQL 预处理器会在运行编译器之前处理包含嵌入式 SQL 的 C 或 C++ 程序。
sqlpp [ options ] sql-filename [ output-filename ]
| 选项 | 说明 |
|---|---|
| –c "keyword=value;...." | 为参考数据库提供数据库连接参数 |
| -d | 生成适合小数据量的代码 |
| –e level | 将不符合要求的 SQL 语法标记为错误 |
| -g | 不显示 UltraLite 警告 |
| –h line-width | 限制输出的最大行长度 |
| -k | 包括 SQLCODE 的用户声明 |
| -m version | 为生成的同步脚本指定版本名称 |
| –n | 行号 |
| -o operating-sys | 目标操作系统:WIN32、WINNT、NETWARE 或 UNIX |
| –p project-name | UltraLite 项目名称 |
| –q | 安静模式:不打印横幅 |
| –s string-len | 编译器的最大字符串长度 |
| –w level | 将不符合要求的 SQL 语法标记为警告 |
| –x | 将多字节 SQL 字符串更改为转义序列。 |
| –z sequence | 指定归类序列 |
在运行编译器之前,SQL 预处理器会对含有嵌入式 SQL 的 C 或 C++ 源文件进行处理。此预处理器将 input-file 中的 SQL 语句翻译为 C/C++,并将结果写到 output-file 中。含有嵌入式 SQL 的源文件的常规扩展名是 sqc。缺省的输出文件名的基本名是 SQL-filename,扩展名为 c。但是,如果 SQL-filename 已经有 .c 扩展名,则缺省的输出扩展名是 .cc。
在对属于 UltraLite 应用程序组成部分的文件进行预处理时,SQL 预处理器需要访问 Adaptive Server Anywhere 参考数据库。您必须使用 –c 选项为参考数据库提供连接参数。
如果未 指定项目名称,则 SQL 预处理器也会运行 UltraLite 生成器,并将附加代码附加到生成的 C/C++ 源文件中。此代码包含数据库模式的 C/C++ 语言说明以及应用程序中 SQL 语句的实现。
自定义 UltraLite 生成器操作 UltraLite 分析器提供挂接以自定义代码生成过程。这些挂接是存储过程名。如果您提供具有以下名称的存储过程,则 UltraLite 分析器在分析过程之前或之后对它们进行调用:
sp_hook_ulgen_begin( )
sp_hook_ulgen_end( )
这些挂接是在参考数据库中定义的,仅在分析器分析阶段使用。可以按如下所示创建挂接:
CREATE PROCEDURE sp_hook_ulgen_begin () BEGIN // actions here END CREATE PROCEDURE sp_hook_ulgen_end () BEGIN // actions here END
-c 在对那些作为 UltraLite 应用程序组成部分的文件进行预处理时,此选项是必需的。连接字符串必须使 SQL 预处理器能够读取和修改您的参考数据库。
-d 生成减小数据空间大小的代码。数据结构在使用之前执行时会得到重用和初始化。这会增大代码的大小。
-e 如果嵌入式 SQL 不是 SQL/92 的指定集合的组成部分,此选项就会将其标记为错误。此选项不适用于 UltraLite。
可用的 level 值及其含义如下:
e 标记不是入门级 SQL/92 语法的语法
i 标记不是中级 SQL/92 语法的语法
f 标记不是完整 SQL/92 语法的语法
t 标记非标准主机变量类型
u 标志不受 UltraLite 支持的功能
w 允许所有受支持的语法
-g 不显示特定于 UltraLite 代码生成的警告。
-h num 将 sqlpp 输出行的最大长度限制为 NUM 个字符。续行符是反斜线 (\),且 NUM 的最小值是 10。
-k 通知预处理器,要编译的程序包括 SQLCODE 的用户声明。
-m version 为生成的同步脚本指定版本名称。可以在 MobiLink 统一数据库中使用生成的同步脚本进行简单同步。缺省值是 ul_default。
-n 在 C 文件中生成行号信息。该信息包括生成的 C 代码中适当位置处的 #line 指令。如果您的编译器支持 #line 指令,则此选项将使编译器能够报告 SQL-filename 中行号上的错误,而不是报告 C/C++ 输出文件中行号上的错误。此外,#line 指令可以由源代码级调试程序间接使用,以便您可以在查看 SQL-filename 时进行调试。
-o 指定目标操作系统。请注意,此选项必须与在其上运行程序的操作系统相匹配。使用此选项时,在您的程序中会生成对一个特殊符号的引用。此符号在接口库中定义。如果您使用的操作系统说明或库是错误的,则该链接器会检测到一个错误。支持的操作系统有:
WIN32 Microsoft Windows 95/98/Me 和 Windows CE
WINNT Microsoft Windows NT/2000/XP
-p project-name 标识嵌入式 SQL 文件所属的 UltraLite 项目。仅当处理是 UltraLite 应用程序一部分的文件时才应用它。
-q 安静地工作。不打印横幅。
-s string-len 设置预处理器将放入 C 文件的最大大小字符串。对于长度大于此值的字符串,将使用一组字符('a'、'b'、'c' 等)对其进行初始化。大多数 C 编译器都对可以处理的字符串大小有限制。此选项用于设置其上限。缺省值为 500。
-w level 如果嵌入式 SQL不是 SQL/92 的指定集合的组成部分,此选项就会将其标记为警告。此选项不适用于 UltraLite。
可用的 level 值及其含义如下:
e 标记不是入门级 SQL/92 语法的语法
i 标记不是中级 SQL/92 语法的语法
f 标记不是完整 SQL/92 语法的语法
t 标记非标准主机变量类型
u 标志不受 UltraLite 支持的功能
w 允许所有受支持的语法
-x 将多字节字符串更改为转义序列,以便它们可以直通编译器。
-z sequence 此选项指定归类序列或文件名。要查看建议使用的归类序列的列表,请在命令提示符处键入 dbinit –l。
SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。