返回首页

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

更新日期:2024年09月11日

以下主题显示如何从 Java™ 类创建 UDR。
创建 UDR:
1. 编写要注册为 UDR 的具有一个或多个静态方法的 Java 类。
有关更多信息,请参阅Java 类的要求。
2. 在数据库服务器上创建一个 sbspace 保存包含此 UDR 代码的 JAR 文件。
有关创建 sbspace 的更多信息,请参阅您的数据库服务器的 GBase 8s 管理员指南
和 J/Foundation 开发者指南。
3. 打开一个 JDBC 连接。
请确保连接对象具有与其相关联的数据库对象。有关详细信息,请参阅连接至数据
库。
4. 安装 UDRManager 对象和 UDRMetaData 对象:
UDRManager udrmgr = new UDRManager(myConn);
UDRMetaData mdata = new UDRMetaData();
5. 创建 java.lang.Reflect.Method 对象,以便静态方法可注册为 UDR。
在以下示例中,method1 是代表 Group1 Java 类的 udr1(string, string) 方法的实例;
method2 是代表 Group1 Java 类的 udr2(Integer, String, String)方法的实例:
Class gp1 = Class.forName("Group1");
Method method1 = gp1.getMethod("udr1",
new Class[]{String.class, String.class});

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 176
-
Method method2 = gp1.getMethod("udr2",
new Class[]{Integer.class, String.class, String.class});
6. 指定要注册为 UDR 的方法。
第二个参数指定 UDR 的 SQL 名称:
mdata.setUDR(method1, "group1_udr1");
mdata.setUDR(method2, "group1_udr2");
有关更多信息,请参阅创建 UDR。
7. 指定 JAR 文件 SQL 名:
mdata.setJarFileSQLName("group1_jar");
8. 如果需要,请指定驱动程序应将 JAR 文件放在数据库服务器文件系统中的路径名
称:
String pathname = "/work/srv93/examples";
udrmgr.setJarFileTmpPath(pathname);
请确保数据服务器文件系统中存在此路径。有关更多信息,请参阅指定 JAR 文件
临时路径。
9. 在数据库服务器中安装 UDR:
udrmgr.createUDRs(mdata, "Group1.jar", "Group1", 0);
有关更多信息,请参阅创建 UDR。
有关创建 UDR 的完整示例代码,请参阅使用 UDRManager 创建 UDR。

USRC_HASHSIZE 配置参数指定 LBAC 凭证内存高速缓存中散列存储区的数目。这个内存高
速缓存持有关于用户 LBAC 凭证的信息。
onconfig.std 值
USRC_HASHSIZE 31

任何正整数
单位
KB
生效
编辑 onconfig 文件并重启数据库服务器之后。

SHOW CREATE FUNCTION
功能说明
显示给定自定义函数的创建语句。
语法格式
SHOW CREATE FUNCTION [vc_name.][database_name.]func_name;
表5- 128 参数说明
参数名称


vc_name
vc 名,可选项。
database_name
数据库名,可选项。
func_name
自定义函数名。
示例
示例1:显示创建hello 函数的语句。
gbase> show create function vc1.demo.hello\G
*************************** 1. row ***************************
Function: hello
sql_mode:
PIPES_AS_CONCAT,ANSI_QUOTES,IGNORE_SPACE,ONLY_FULL_GROU
P_BY,NO_AUTO_VALUE_ON_ZERO,STRICT_ALL_TABLES,NO_ZERO_IN
_DATE,NO_ZERO_DATE,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTI
TUTION,PAD_CHAR_TO_FULL_LENGTH
Create Function: CREATE DEFINER="root"@"%" FUNCTION "hello"(s
CHAR(20)) RETURNS char(50) CHARSET utf8
RETURN CONCAT('Hello, ',s,'!')
character_set_client: utf8
collation_connection: utf8_general_ci
Database Collation: utf8_general_ci
1 row in set (Elapsed: 00:00:00.00)