返回首页

gbase数据、南大通用产品文档:GBase8sGBase 8s ESQL/C 是什么?

更新日期:2024年09月11日

GBase 8s ESQL/C 是 SQL 应用程序编程接口(API),它使您可以直接在 C 程序中嵌
入结构化查询语言(SQL)语句。
GBase 8s ESQL/C 的预处理器 esql 将每个 SQL 语句和特定于 GBase 8s 的所有代码转
换为 C 语言源代码,并启动 C 编译器进行编译它。
ESQL/C 组件
GBase 8s ESQL/C 由以下软件组件构成:
C 函数的 GBase 8s ESQL/C 库,用于访问数据库服务器。
GBase 8s ESQL/C 头文件,提供数据结构、常量以及对 GBase 8s ESQL/C 程序有用的
宏定义。
esql 命令,
它处理 GBase 8s ESQL/C 源代码以创建一个 C 源文件,
并将它传递给 C 编
译器。
finderr 实用程序
(在 UNIX 系统上)
和 GBase 8s Error Messages 实用程序
(Windows
系统上),用于获得特定于 GBase 8s 的错误消息的信息。
GBase 8s GLS 语言环境和代码集转换文件,此文件提供了特定语言环境的信息。

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 5 -
有关这些文件的更多信息,请参阅 GBase 8s GLS 用户指南。
用于 Windows 的 ESQL/C 文件
对于 Windows™ 环境,GBase 8s ESQL/C 产品包含下列附加的可执行文件:
Setnet32 实用程序是基于 Windows 的实用程序,用于设置配置文件。
有关更多信息,请参阅 GBase 8s 客户端产品安装指南。
ILOGIN 实用程序是打开带有连接参数字段的对话框的示范程序,它用于测试到数据库服
务器的连接(使用 stores7 数据库)。
有关更多信息,请参阅 GBase 8s 客户端产品安装指南。
ESQLMF.EXE 多字节过滤程序,它将多字节字符串中的转义字符更改为十六进制字符。
这些 GBase 8s ESQL/C 可执行文件位
于 %GBASEDBTDIR%\bin 、%GBASEDBTDIR%\lib
和 %GBASEDBTDIR%\demo 目录下。%GBASEDBTDIR% 变量代表
GBASEDBTDIR 环境变量的值。
ESQL/C 库函数
GBase 8s ESQL/C 库包含一组可用于应用程序的 C 函数。
这些函数可以归为以下几类:
 数据类型对齐库函数为不同数据类型的计算机独立大小和对齐信息提供支持,
并协助处
理空数据库值。
 字符和字符串库函数提供基于字符的操作,例如比较和复制。
 DECIMAL 库函数支持通过十进制结构访问 DECIMAL 值。
 格式化函数使您指定不同数据类型的显示格式。
 DATE 库函数支持存取 DATE 值。
 DATETIME 和 INTERVAL 库函数支持存取通过 datetime 和 interval 结构的值。
 错误消息函数为获取和格式化特定于 GBase 8s 的错误消息文本提供支持。
 数据库服务器控制函数使您的应用程序实现例如撤销查询和终止连接的功能。
 INT8 库函数使您能够通过 int8 结构存取 INT8 值。
 智能大对象库函数提供类似于 BLOB 和 CLOB 数据类型的文件。
创建 ESQL/C 程序
创建 GBase 8s ESQL/C 查询:
要在 C 语言源程序中嵌入 GBase 8s ESQL/C 语句,请执行以下步骤:
定义主变量以存储传输于 GBase 8s ESQL/C 和数据库服务器之间的数据。

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 6 -
通过 SQL 语句访问数据库服务器。
提供 GBase 8s ESQL/C 预处理器和 C 编译器的的伪指令。
使用 esql 命令预处理 GBase 8s ESQL/C 源文件以创建 C 语言源文件和启动 C
编译器。
必要时,改正预处理器和编译器报告的错误,并重复步骤 2。
使用 esql 命令,将编译好的对象代码链接到一个或多个可执行文件。
GBase 8s ESQL/C 源文件包含下列类型的语句:
预处理伪指令
GBase 8s ESQL/C 预处理伪指令创建简单的宏定义,包括 GBase 8s ESQL/C 文件,
并执行附条件的 GBase 8s ESQL/C 编译。
C 预处理伪指令创建宏定义,包括系统和 C 源文件,并执行附条件的 C 编译。
语言语句
GBase 8s ESQL/C 主变量定义存储传输于 GBase 8s ESQL/C 和数据库服务器之间的
数据。
嵌入 SQL 语句以便于数据库服务器通信。
C 语言语句提供程序逻辑。
有关 C 预处理伪指令和 C 语言语句的信息,请参阅 C 编程文本。
GBase 8s ESQL/C 源文件名称可以具有下格式:
esqlc_source.ec
esqlc_source.ecp
GBase 8s ESQL/C 源文件的特定后缀决定了该源文件由 esql 命令编译的默认顺序。.ec
后缀是缺省的后缀。有关 .ecp 后缀和非缺省编译顺序,请参阅 在运行 ESQL/C 预处理
前运行 C 预处理器。

如果您想要指定 root dbspace 中 tblspace tblspace 的第一个 extent 大小,则请使用
TBLTBLFIRST 配置参数。如果您不想要数据库服务器自动地管理 extent 大小,则请设置
这个参数。
onconfig.std 值
TBLTBLFIRST 0

从以 KB 指定的 250 页等同的大小,至第一个 chunk 的大小减去任何系统对象需要的空
间。
单位
以 KB 为单位的页大小的倍数
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
当您通过运行 onmode -wm 命令重置内存中的该值时。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 163 -

用法
您可能想要指定第一个和下一个 extent 大小来减少 tblspace tblspace extent 的数目
并减少将 tblspace tblspace extent 置于非主 chunk 中的频率(主 chunk 是一个
dbspace 中的初始 chunk。)
您可使用 oncheck -pt 和 oncheck -pT 来显示 tblspace tblspace 第一个和下一个
extent 大小。
如果您想要为非 root dbspace 配置第一个 extent,则请使用 onspaces 实用程序。

log_pagewriter
参数说明:
设置用于增量检查点打开后,
显示线程的刷页信息以及增量检查点的详细信
息,信息比较多,不建议设置为true。
该参数属于SIGHUP 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:布尔型
默认值:on

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
1367