返回首页

gbase数据、南大通用产品文档:GBase8s

更新日期:2024年09月11日

9088
g=db_group
gbaseserver_hac
onsoctcp

概述
全文索引更新是指数据源内容与索引内容的同步操作,在数据源内容变化的情况
下,
索引也需要同步更新,
以保持一致,
更新全文索引的方式为批量手动更新(manual)
模式,即通过相应的SQL 语句来同步数据与索引内容。

使用 UDT Manager,可以从实现 SQLData 接口的现有 Java™ 类创建 Java 不透明类型。
UDT Manager 还可以帮助您在不需要准备 Java 类的情况下,创建 Java 不透明类型,可
以指定要创建的不透明类型的特征, UDT Manager 工具创建 Java 类然后创建 Java 不透
明类型。
按照本节中的步骤使用 UDTManager 类。
从现有 Java 类创建不透明类型
从现有 Java™ 类创建不透明类型:
1.
确保类符合转换为不透明类型的要求。
有关要求,请参阅Java 类的要求。
2. 如果您不想使用服务器提供的缺省输入和输出例程,
请编写支持的 UDR 以进行输
入和输出。
有关编写支持的 UDR 的一般信息,请参阅 GBase 8s 用户定义的例程和数据类型
开发者指南 。

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 173
-
3. 在数据库服务器上创建一个缺省 sbspace 来保存包含不透明类型代码的 JAR 文件。

有关创建 sbspace 的信息,请参阅您的数据库服务器的《GBase 8s 管理员指南》
和 J/Foundation 开发者指南。
4. 打开一个 JDBC 连接。
确保数据库对象与连接对象相关联。没有数据库对象,驱动程序就无法创建不透明
类型。有关创建具有数据库对象的连接的详细信息,请参阅连接至数据库。
5. 安装 UDTManager 对象和 UDTMetaData 对象:
UDTManager udtmgr = new UDTManager(connection);
UDTMetaData mdata = new UDTMetaData();
6. 通过调用 UDTMetaData 对象中的方法设置不透明类型的属性。
至少,您必须指定 SQL 名称、UDT 长度和 JAR 文件 SQL 名称。有关 SQL 名
称的解释,请参阅 SQL 名称。
还可以指定对齐方式、隐式和显式强制转换以及任何支持的 UDR:
mdata.setSQLName("circle2");
mdata.setLength(24);
mdata.setAlignment(UDTMetaData.EIGHT_BYTE)
mdata.setJarFileSQLName("circle2_jar");
mdata.setUDR(areamethod, "area");
mdata.setSupportUDR(input, "input", UDTMetaData.INPUT)
mdata.setSupportUDR(output,
"output",UDTMetaData.OUTPUT)
mdata.SetImplicitCast(com.gbasedbt.lang.IfxTypes.IFX_TYPE_
LVARCHAR, "input");
mdata.SetExplicitCast(com.gbasedbt.lang.IfxTypes.IFX_TYPE_
LVARCHAR, "output");

7. 如果需要,请指定驱动程序应将 JAR 文件放在数据库服务器文件系统中的路径名
称:
String pathname = "/work/srv93/examples";
udtmgr.setJarFileTmpPath(pathname);

请确保服务器文件系统中存在此路径。有关更多信息,请参阅指定 JAR 文件临时
路径。
8. 创建不透明类型:
udtmgr.createUDT(mdata, "Circle2.jar", "Circle2", 0);

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 174
-
有关从现有代码创建不透明类型的其它信息,请参阅从现有代码创建不透明类型。
有关使用上述步骤创建不透明类型的完整代码示例,请参阅使用 UDTManager 从现有的
Java 类创建不透明类型。
创建不透明类型,无需现有 Java 类
无需现有 Java™ 类创建不透明类型:
1. 在数据库服务器上创建一个缺省 sbspace 来保存包含不透明类型代码的 JAR 文件。

有关创建 sbspace 的信息,请参阅您的数据库服务器的《GBase 8s 管理员指南》
和 J/Foundation 开发者指南。
2. 打开一个 JDBC 连接。
确保数据库对象与连接对象相关联。有关创建具有数据库对象的连接的详细信息,
请参阅连接至数据库。
3. 安装 UDTManager 对象和 UDTMetaData 对象:
UDTManager udtmgr = new UDTManager(connection);
UDTMetaData mdata = new UDTMetaData();
4. 通过调用 UDTMetaData 对象中的方法设置不透明类型的属性:
mdata.setSQLName("acircle");
mdata.setLength(24);
mdata.setFieldCount(3);
mdata.setFieldName(1, "x");
mdata.setFieldName(2, "y");
mdata.setFieldName(3, "radius");
mdata.setFieldType
(1,com.gbasedbt.lang.IfxTypes.IFX_TYPE_INT);
mdata.setFieldType
(2,com.gbasedbt.lang.IfxTypes.IFX_TYPE_INT);
mdata.setFieldType
(3,com.gbasedbt.lang.IfxTypes.IFX_TYPE_INT);
mdata.setJarFileSQLName("ACircleJar");
有关不透明类型的设置属性的更多信息,请参 指定不透明类型的属性。
5. 创建 Java 文件、类文件和 JAR 文件:
mdata.keepJavaFile(true);
String classname = udtmgr.createUDTClass(mdata);
String jarfilename = udtmgr.createJar(mdata, new String[]
{classname + .class"});

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 175
-
有关更多信息,请参阅创建 JAR 和类文件。
6. 如果需要,请指定驱动程序应将 JAR 文件放在数据库服务器文件系统中的路径名
称:
String pathname = "/work/srv93/examples";
udtmgr.setJarFileTmpPath(pathname);
请确保此路径在服务器文件系统中存在。有关更多信息,请参阅指定 JAR 文件临
时路径。
7. 将类定义发送到数据库服务器:
udtmgr.createUDT(mdata, jarfilename, classname, 0);
有关更多信息,请参阅将类定义发送到数据库服务器。
有关使用上述步骤创建不透明类型的完整代码示例,
请参阅不需现有的 Java 类创建不透明
类型。