GBase 8s数据类型与java.sql.Types对应关系

GBase 8s数据类型与java.sql.Types对应关系

GBase 8s类型类型java.sql.Typesjava类型名称
SMALLINT5SMALLINT
INTEGER4INTEGER
BIGINT-5BIGINT
INT8-5BIGINT
SMALLFLOAT7REAL
FLOAT8DOUBLE
DECIMAL3DECIMAL
MONEY3DECIMAL
CHAR1CHAR
NCHAR1CHAR
VARCHAR12VARCHAR
NVARCHAR12VARCHAR
VARCHAR263未定义
LVARCHAR-1LONGVARCHAR
BOOLEAN16BOOLEAN
TEXT2005CLOB
BYTE2004BLOB
CLOB2005CLOB
BLOB2004BLOB
SERIAL4INTEGER
SERIAL8-5BIGINT
BIGSERIAL-5BIGINT
DATETIME YEAR TO SECOND93TIMESTAMP
DATETIME HOUR TO SECOND92TIME
DATE91DATE
RAW-1LONGVARCHAR
TIMESTAMP WITH TIME ZONE0NULL
未定义2013TIMESTAMP_WITH_TIMEZONE
未定义2012TIME_WITH_TIMEZONE
JSON-1LONGVARCHAR
BSON-1LONGVARCHAR
INTERVAL1CHAR
LIST1111OTHER
SET(LVARCHAR)-1LONGVARCHAR
MULTISET(SENDRECEIVE)1111OTHER

Django 4 操作GBase 8s数据库配置示例(Linux)

简介:

Django 是一个由 Python 编写的一个开放源代码的 Web 应用框架。
使用 Django,只要很少的代码,Python 的程序开发人员就可以轻松地完成一个正式网站所需要的大部分内容,并进一步开发出全功能的 Web 服务 Django 本身基于 MVC 模型,即 Model(模型)+ View(视图)+ Controller(控制器)设计模式,MVC 模式使后续对程序的修改和扩展简化,并且使程序某一部分的重复利用成为可能。

系统要求:
1,操作系统使用22.04.3 LTS
2,unixodbc及unixodbc-dev已经安装
3,GBase 8s CSDK 64bit(客户端连接工具)已经安装
4,Python版本是3.10.12(系统自带)
5,Django版本使用4.2.15
6,需要pyodbc
7,使用django_gbasedbtdb 1.11.5版本









阅读全文»

GBase 8s数据库随系统启动、自重启配置

近期的客户想实现数据库自重启功能(即故障后自动重启),该功能需要在自动启动的基础上进行改进。
关于systemd方式实现自启动的方法可参考之前的文档:https://gbasedbt.com/index.php/archives/161/
以下仍是通过systemd方式实现GBase 8s数据库的自启动、自重启与关闭。
注意:自启动、自重启仅适用于单机,而不要用于集群环境
适用于操作系统: RHEL7/CENTOS7, 以及基于RHEL7内核的系统。

systemd需要的两个配置文件目录为

1,service 文件所在位置 /usr/lib/systemd/system/
2,service 的环境配置文件位置 /etc/sysconfig/






阅读全文»

GBase 8s数据类型CLOB直接insert功能

GBase 8s的数据库CLOB是一种文本智能大对象类型,一般情况下可以使用fileclob函数进行插入数据,或者在程序中使用绑定变量的方式插入。
在GBase 8s的SQLMODE=Oracle模式中,实现了直接insert操作,但SQLMODE=GBase模式中没有实现
以下介绍自己实现在SQLMODE=GBase模式下实现直接insert clob的操作的方法
注意:数据库版本的不同,可能实现的方法略有不同
从扩展中创建dbms_lob_* 函数,使用到的:





阅读全文»

GBase 8s 数据库HAC集群切换及恢复操作

GBase 8s HAC集群允许配置为自动切换、CM控制的FOC切换及手工切换三种方式。
在自动切换中,主节点故障或者网络超时,备节点都将自动提升为主节(DRAUTO值为2)或者标准节点(DRAUTO值为1)。当原主节点需要恢复时,可直接启动(oninit -vy)、物理恢复方式(oninit -PHY后onmode -d secondary 主节点服务名称)或者备份恢复(脑裂时)。

在CM控制的切换中,主节点故障或者网络超时,备节点都将由CM控制提升为主节点。当原主节点需要恢复时,需要通过物理恢复的方式然后加入集群(oninit -PHY后onmode -d secondary 主节点服务名称)或者备份恢复(脑残时)。

在手工切换中,主节点故障或者网络超时,备节点需要手工提升为主节点,有两种方式:

  • 1)备节点切换为标准模式,然后提升为主节点(onmode -d standard后onmode -d primary 对端服务名称);
  • 2)通过指令直接提升(onmode -d make primary 服务名称 [force])

当原主节点需要恢复时,需要通过物理恢复的方式然后加入集群(oninit -PHY后onmode -d secondary 主节点服务名称)。

如果数据库集群无故障,只是需要进行主备节点切换时,也需要考虑当前的切换方式。可通过模拟主节点故障的方式进行切换,也可以通过强制切换的方式(onmode -d make primary 服务名称 force),恢复时按照故障时的恢复方式进行。

GBase 8s 数据库集群切换及恢复

GBase 8s 数据库切换分为自动切换、由CM控制的按FOC规则的切换、手工切换。

自动切换

全自动切换用于HAC集群中,由于集群只有两个节点,数据库相互之前进行状态检查,发现异常时,能按DRAUTO的配置方式进行自动切换。
在HAC集群中:
DRAUTO参数配置为2时

  • 1,当出现主节点故障时,备节点将自动提升为主节点。原主节点可通过直接启动的方式加入HAC集群,并自动成为HAC集群的备节点(限制条件:主节点的逻辑日志没有覆盖掉原主节点故障时的逻辑日志,即未出现逻辑日志绕圈)。
  • 2,当出现备节点与主节点网络超时,备节点也将自动升级为主节点。如果原主节点保持运行,当网络恢复时,会形成双主现象(即脑裂),主节点会要求原主节点关闭,由于脑裂已经形成,无法能过直接启动的方式恢复HAC集群,仅能通过重建HAC集群的方式进行恢复。


阅读全文»

Kylin V10SP1桌面版下GBase 8s java udr异常处理

同样的GBase 8s数据库版本,自定义的java udr在Kylin V10SP1 服务器版(aarch64架构)下创建、运行正常,而在Kylin V10SP1 桌面版(aarch64架构)下时创建正常但运行UDR异常,报错如下:

(38000) - Unknown throwable: (java.lang.NoClassDefFoundError: Could not initialize class sun.security.ec.CurveDB).
Error in line 1
Near character position 62

阅读全文»

Nginx下PHP连接到GBase 8s数据库 - PDO_GBASEDBT方式

PHP可以通过odbc,pdo_odbc和pdo_gbasedbt三种方式连接到GBase 8s数据库,这三种方式均需要通过CSDK客户端工具。
操作系统:CentOS 7.9 x86_64

必要组件:

  • php及扩展,如php-fpm/php-odbc/php-pdo等
  • nginx服务
  • gcc/gcc-c++

数据库连接工具(CSDK)

  • GBase 8s CSDK(需含ESQLC组件)

配置前提

  • GBase 8s数据库服务器正常运行
  • GBase 8s客户端连接工具

阅读全文»

Nginx下PHP连接到GBase 8s数据库 - PDO_ODBC方式

PHP可以通过odbc,pdo_odbc和pdo_gbasedbt三种方式连接到GBase 8s数据库,这三种方式均需要通过CSDK客户端工具。
操作系统:CentOS 7.9 x86_64

必要组件:

  • unixODBC及unixODBC-devel
  • php及扩展,如php-fpm/php-odbc/php-pdo等
  • nginx服务

数据库连接工具(CSDK)

  • GBase 8s CSDK

配置前提

  • GBase 8s数据库服务器正常运行
  • GBase 8s客户端连接工具

阅读全文»