返回首页

gbase数据、南大通用产品文档:GBase8s访问预定义的不透明数据类型

更新日期:2024年09月11日

GBase 8s 将几个内置数据类型作为预定义不透明数据类型实现。
这些数据类型是支持
函数的不透明和数据库定义提供的数据类型。
例如,
智能大对象数据类型 CLOB 和 BLOB,
作为不透明数据类型 clob 和 blob 实现。
GBase 8s ESQL/C 使用 ifx_lo_t 结构
(称为 LO
指针)访问智能大对象。此结构在 locator.h 头文件中定义。
因此,您将 CLOB 或 BLOB 类型的数据库列的 GBase 8s ESQL/C 主机变量声明为
fixed binary 主机变量,如下所示:
EXEC SQL include locator;


EXEC SQL BEGIN DECLARE SECTION;
fixed binary 'clob' ifx_lo_t clob_loptr;
fixed binary 'blob' ifx_lo_t blob_loptr;
EXEC SQL END DECLARE SECTION;


EXEC SQL select blobcol into :blob_loptr from tab1;
3 数据库服务器通信

可以使用以下方法移除不透明类型及其 JAR 文件:
public static void removeUDT(String sqlname) throws SQLException
public static void removeJar(String jarfilesqlname, int undeploy)
throws SQLException
removeUDT() 方法从数据库服务器移除不透明类型,以及所有它的强制转型和 UDR 。它
不会移除 JAR 文件本身,因为其它不透明类型或 UDR 可能正在使用相同的 JAR 文件。

重要: 如果应用程序在事务中调用 removeUDT() 或您的数据库是 ANSI 或启用了日志记录,
则要应用一些其它规则。有关更多信息,请参阅在事务中执行。
removeJar() 方法从系统目录移除 JAR 文件。jarfilesqlname 参数是使
用 setJarFileSQLName() 方法指定的名称。
对于 undeploy 参数,请参阅指定部署描述符操作。
重要: 在调用 removeJar() 之前,您必须首先移除所有与 JAR 文件关联的函数和过程。否则,
数据库服务器移除文件失败。

GBase 8s 支持以下内置数据类型。
分类
数据类型
字符
CHAR、CHARACTER VARYING、LVARCHAR、NCHAR、
NVARCHAR、VARCHAR、IDSSECURITYLABEL
大对象
简单大对象类型:BYTE 和 TEXT 智能大对象类型:BLOB
和 CLOB
逻辑
BOOLEAN
数字
BIGINT、BIGSERIAL、DECIMAL、FLOAT、 INT8、INTEGER、
MONEY、SERIAL、SERIAL8、 SMALLFLOAT 和 SMALLINT
时间
DATE、DATETIME 和 INTERVAL
游标
SYS_RECURSOR

有关对字符、数字和其他数据类型的描述,请参阅数据类型的描述中适当的条目。页
码索引在表 1中的字母顺序列表中。