返回首页

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

更新日期:2024年09月11日

使用 UDR Manager 在数据库服务器中创建 UDR,包括:

编码 UDR 并将代码打包到 JAR 文件中
有关编码 UDR 的信息,请参阅 J/Foundation 开发者指南。

在数据库服务器中创建缺省的 sbspace 来保存包含 UDR 代码的 JAR 文件
有关创建 sbspace 的信息,请参阅您的数据库服务器的《GBase 8s 管理员指南》
和 J/Foundation 开发者指南。

调用 UDRMetaData 类中的方法指定 GBase 8s JDBC Driver 在数据库服务器中注册
UDR 所必需的信息

如果需要。请指定驱动程序应将 JAR 文件放在数据库服务器文件系统中的路径名

在服务器中安装 UDR
为 C 语言不透明类型创建的 UDR 是不受支持的;不透明类型必须是 Java™ 的。
要指定注册的驱动程序的 UDR ,请使用 UDRMetaData 中的这个方法:
public void setUDR(Method method, String sqlname) throws SQLException
method 参数指定要在数据库服务器中注册为 Java UDR 的 java.lang.Reflect.Method 中的对
象。sqlname 参数是用于 SQL 语句中方法的名称。
一旦您指定了要注册的 UDR,则可以使用 UDRMetaData.setJarFileSQLName() 设置 JAR
文件 SQL 名称,
然后使用UDRManager.createUDRs() 方法在数据库服务器中安装此 UDR,
如下所示:
public void createUDRs(UDRMetaData mdata, String jarfile, String
classname, int deploy) throws SQLException
jarfile 参数是包含 Java 方法定义的客户端 JAR 文件的绝对或相对路径名。如果使用绝对
路径名,则 JAR 文件名必须包含在您 CLASSPATH 设置中。

GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 186
-
classname 参数是包含您要在数据库服务器中注册为 UDR 的 Java 类的名称。有关准备
Java 方法的要求,在 1 中描述。
对于 deploy 参数,请参阅指定部署描述符操作。
createUDRs() 方法使驱动程序为您的应用程序执行以下所有步骤:
1.
获取第一个参数指定的 JAR 文件。
2.
将 JAR 文件从客户端本地区域传送到服务器本地区域。
3. 注册 UDRMetaData 对象中指定的 UDR(通过调用一个多
个 UDRMetaData.setUDR())。
4.
在服务器上安装 JAR 文件并创建 UDR。
执行 createUDRs() 后,您的应用程序就可以在 SQL 语句中使用 UDR。
重要:
如果应用程序在事务中调用 createUDRs(),
或者您的数据库为 ANSI 或启用了日志记录,
会应用一些其它规则。有关更多信息,请参阅在事务中执行。

说明
随机脱敏函数只对数字类型起作用。
它会将数字随机显示成指定范围内的值,
若多次执行,
同一行的随机值会不同。

示例
假设先设置脱敏范围为(1,4)。

GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 283
gbase> CREATE TABLE t_m_random(age INT MASKED WITH(FUNCTION = 'RANDOM(1,4)'));
Query OK, 0 rows affected (Elapsed: 00:00:00.09)

gbase> INSERT INTO t_m_random VALUES(29),(19);
Query OK, 2 rows affected (Elapsed: 00:00:00.07)
Records: 2 Duplicates: 0 Warnings: 0

gbase> SELECT * FROM t_m_random;
+------+
| age |
+------+
| 4 |
| 3 |
+------+
2 rows in set (Elapsed: 00:00:00.03)

表 5-10 脱敏前数据
年龄(int)
29
19
表 5-11 应用随机脱敏后结果
年龄(int)
4
3

注意
NULL 值不做脱敏处理,显示仍为NULL。

参数说明:控制优化器输出planner 模块的性能日志。
该参数属于SUSET 类型参数,请参考表15-1 中对应设置方法进行设置。
取值范围:布尔型

on 表示使用。

off 表示不使用。
默认值:off