Collection Contents 上一页 下一页 PDF

UltraLite 数据库用户指南

UltraLite 实用程序参考

SQL 预处理器


适用于 

仅适用于嵌入式 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 分析器在分析过程之前或之后对它们进行调用:

这些挂接是在参考数据库中定义的,仅在分析器分析阶段使用。可以按如下所示创建挂接:

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 值及其含义如下:

-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    指定目标操作系统。请注意,此选项必须与在其上运行程序的操作系统相匹配。使用此选项时,在您的程序中会生成对一个特殊符号的引用。此符号在接口库中定义。如果您使用的操作系统说明或库是错误的,则该链接器会检测到一个错误。支持的操作系统有:

-p project-name    标识嵌入式 SQL 文件所属的 UltraLite 项目。仅当处理是 UltraLite 应用程序一部分的文件时才应用它。

-q    安静地工作。不打印横幅。

-s string-len    设置预处理器将放入 C 文件的最大大小字符串。对于长度大于此值的字符串,将使用一组字符('a''b''c' 等)对其进行初始化。大多数 C 编译器都对可以处理的字符串大小有限制。此选项用于设置其上限。缺省值为 500。

-w level    如果嵌入式 SQL不是 SQL/92 的指定集合的组成部分,此选项就会将其标记为警告。此选项不适用于 UltraLite。

可用的 level 值及其含义如下:

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

-z sequence    此选项指定归类序列或文件名。要查看建议使用的归类序列的列表,请在命令提示符处键入 dbinit –l


Collection Contents 上一页 下一页 PDF