通过c3p0 连接到GBase 8s数据库
必需组件:
tomcat 7
数据库连接工具:
GBase 8s JDBC dbtjdbc_2.0.1a2_1.jar
开发环境:
Eclipse
配置前提
1,GBase 8s 数据库服务器已经正常启动
通过c3p0 连接到GBase 8s数据库
必需组件:
tomcat 7
数据库连接工具:
GBase 8s JDBC dbtjdbc_2.0.1a2_1.jar
开发环境:
Eclipse
配置前提
1,GBase 8s 数据库服务器已经正常启动
使用Tomcat jdbc pool连接到GBase 8s数据库
必需组件:
tomcat 7
数据库连接工具:
GBase 8s JDBC dbtjdbc_2.0.1a2_1.jar
开发环境:
Eclipse
配置前提
1,GBase 8s 数据库服务器已经正常启动
Linux下通过PHP(pdo)连接到GBase 8s数据库
操作系统:RHEL 6U9 64bit
必需组件:
unixODBC: unix下的odbc
php: 操作系统自带的php
php-devel: php开发组件,包含phpize工具
php-pdo: php-pdo组件
httpd: apache httpd服务器
automake: 编译组件
autoconf: 编译组件
gcc: 编译组件,编译器注1:php-devel一般位于安装光盘的dvd2上
注2:若编译过程中涉及到其他组件,需先安装后再继续
数据库连接工具:
GBase 8s CSDK
PDO_GBASEDBT:
PDO_GBASEDBT-1.3.3.tgz
PDO_GBASEDBT-1.3.3: 由PDO_INFORMIX修改而来
配置前提
1,GBase 8s 数据库服务器已经正常启动
2,GBase 8s 客户端连接工具已经安装
Linux下通过PHP(ODBC)连接到GBase 8s数据库
操作系统:RHEL 6U9 64bit
必需组件:
unixODBC unix下的odbc
php 操作系统自带的php
php-odbc odbc连接php组件
httpd apache httpd服务器
数据库连接工具:
GBase 8s CSDK
配置前提
1,GBase 8s 数据库服务器已经正常启动
2,GBase 8s 客户端连接工具已经安装
有网友反馈说,merge into报229/102错误,并提供相应的表结构。测试并复现了该问题,并最终确认如下结论:
merge into使用的表的特殊字段不能超过112个。
测试过程如下:
创建表mergetab
create table mergetab
(
col1 varchar(10),
col2 varchar(10),
col3 varchar(10),
col4 varchar(10),
-- 中间还有 col5 至 col111字段,均为varchar(10)
col112 varchar(10),
col113 varchar(10)
);
GBase 8s的触发器不支持raise exception,条件判断等存储过程中可以使用的功能,若有需求,可以使用触发存储过程的功能。
以下以insert触发器为示例,创建触发存储过程:
1,创建相应的表
create table tab1
(
id integer,
name varchar(40),
primary key (id)
) ;
create table tab2
(
id integer,
name varchar(40),
uptime datetime year to second
default current year to second
) ;
GBase 8s支持内部用户,但默认情况下并不是开启的,需要手工开启。
以下以GBase 8s v8.8_2.0.1a2_2版本为例示范如何使用内部用户(mapping user)
1,配置allowed.surrogates
在/etc/gbasedbt(如没有,使用root用户创建)下创建allowed.surrogates配置文件,内容如下:
USERS:daemon
测试在java程序中调用GBase 8s的函数调用。
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示例
从mysql迁移到GBase 8s数据库时,原有unix_timestamp()函数在GBase 8s中不可用,因此需要自己创建相应的函数,可以使用C或者JAVA创建自定义例程,也可以使用存储过程或者函数。以下以存储过程/函数方式创建。
注:以下语法根据GBase 8s v8.7 2.0.1a2_2版本进行过更新。
TRACE语句用于调试存储过程, 它可以跟踪以下存储过程实体的值:
变量(Variables)
过程参数(Procedure arguments)
返回值(Return values)
SQL 错误代码(SQL error codes)
ISAM 错误代码(ISAM error codes)
TRACE 语句把跟踪结果写到一个文件中, 该文件由SQL语句SET DEBUG FILE指定