最近碰到客户从Oracle迁移到GBase 8s使用到字段加密解密功能,使用到了Utl_raw.cast_to_varchar2、Utl_raw.cast_to_raw、Utl_encode.base64_decode、dbms_obfuscation_toolkit.desdecrypt等oracle特有函数,这些与GBase 8s自带的加密函数DECRYPT_CHAR并不兼容。客户暂时只能考虑使用程序加密的方式实现。
对于GBase 8s数据库来说,其实也可以使用自定义例程(UDR,可以是基于C,也可能是基于Java)的方式来扩展函数使用。以下我们就以这个加密解密功能来说明Java UDR的创建与使用。
java开发
GBase 8s、GBase 8t在java环境中的开发。
GBase 8s数据库连接 - Druid连接池
通过Druid连接到GBase 8s数据库
必需组件:
tomcat 7
数据库连接工具:
GBase 8s JDBC dbtjdbc_2.0.1a2_1.jar
开发环境:
Eclipse
配置前提
1,GBase 8s 数据库服务器已经正常启动
GBase 8s数据库连接 - C3p0连接池
通过c3p0 连接到GBase 8s数据库
必需组件:
tomcat 7
数据库连接工具:
GBase 8s JDBC dbtjdbc_2.0.1a2_1.jar
开发环境:
Eclipse
配置前提
1,GBase 8s 数据库服务器已经正常启动
GBase 8s数据库连接 - Tomcat jdbc连接池
使用Tomcat jdbc pool连接到GBase 8s数据库
必需组件:
tomcat 7
数据库连接工具:
GBase 8s JDBC dbtjdbc_2.0.1a2_1.jar
开发环境:
Eclipse
配置前提
1,GBase 8s 数据库服务器已经正常启动
在java中调用GBase 8s的函数示例
测试在java程序中调用GBase 8s的函数调用。
1, OUT及RETURN返回值
1)、首先创建需要调用的函数或者存储过程
-- out value 是 out变量值
-- return value 是函数返回值
create function myfunc2(f1 int,out f2 varchar(128)) returns varchar(128);
let f2 = "out value: myfunc2";
return "return value: myfunc2 and f1: " || f1;
end function;
2)、java程序调用函数myfunc2示例
使用DatabaseMetaData接口查询GBase 8s数据库结构
Java程序中允许使用DatabaseMetaData接口查询数据库结构,以下是使用该接口查询GBase 8s数据库的示例代码。
更换驱动信息,同样适用于GBase 8t/IBM Informix。