java开发
GBase 8s、GBase 8t在java环境中的开发。

GBase 8s 传输加密SSL配置

1. 概述

数据传输加密是指在网络中传输的数据需要加密传输,从而确保数据的机密性和完整性。
针对网络中传输的数据进行加密,焦点就在连接上。对于GBase 8s体系下,总共有如下连接场景需要进行数据传输加密:
1) 客户端连接数据库服务端,包含:csdk或jdbc连接GBase 8s。
2) 客户端连接到连接管理器,包含:csdk或jdbc连接连接管理器。无论连接管理器选择代理,还是重定向,客户端都会建立到连接管理器的连接。
3) 连接管理器连接数据库服务端。
4) 数据库服务端连接数据库服务端。对于高可用环境,数据库服务端之间是存在连接的。
对于连接而言,数据库服务端和连接管理器都存在组的概念。客户端可以选择连接数据库服务端的组或者连接管理器的组。经过调研,真正的连接不是建立在组上的。客户端代码,会根据sqlhosts的配置,在连接前选择合适数据库服务端或连接管理器进行连接。根据这个情况,对于组的连接不需要专门讨论。
本文基于数据库版本为GBase 8s V8.8 3.0.0_1,操作系统为CentOS 7.8编写。








阅读全文»

GBase 8s 编写使用UDR(C/Java)

GBase 8s数据库支持C和JAVA写的用户自定义例程(UDR),以扩展用户对数据库的操作的功能。
以下我们分别以简单的例子介绍C UDR和Java UDR。

C UDR

C UDR使用C语言为基础开发。
参考两个文档:《用户定义例程和数据类型开发者指南》和《DataBlade开发者工具用户指南》

1, 编写代码,示例使用简单的Hello.c

#include <stdio.h>

char *Hello(char *message )
{
    return(message);
}

main()
{
    char *message = "Hello World!";
    printf("%s\n", Hello(message));
}


阅读全文»

Mybatis操作GBase 8s数据库示例

  这个例子将创建一个简单的 Java 项目结构,并演示如何使用 Mybatis 进行GBase 8s数据库的数据处理工作(插入,选择,更新和删除),以及分页显示。

使用到的工具及组件包括:

Eclipse
JDK-1.8
Mybatis-3.4.5
GBase 8s 数据库及JDBC驱动2.0.1a2_2

最终的项目目录结构

项目结构图1.png




阅读全文»

Hibernate操作GBase 8s数据库示例

  这个例子将创建一个简单的 Java 项目结构,并演示如何使用 Hibernate 进行GBase 8s数据库的数据处理工作(插入,选择,更新和删除),以及分页显示。

使用到的工具及组件包括:

Eclipse
JDK-1.8
hibernate-5.3.12 及方言包
Hibernate-5.3.12 及对应的GBase 8s Dialect
GBase 8s 数据库及JDBC驱动2.0.1a2_2

最终的项目目录结构

项目结构图.png





阅读全文»

在GBase 8s上使用java udr实现Oracle兼容的加密解密功能

  最近碰到客户从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的函数示例

测试在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示例

阅读全文»