国产数据库适配-南大通用(Gbase)问题整理

Gbase 函数

[GBase 8s 教程]GBase 8s 常用函数、表达式_gbase函数-CSDN博客

Gbase 8s hibernate方言包下载:

Index of /dl/hibernate

select * from sysmaster:sysdbslocale

  • 导出数据

su - gbasedbt

export DB_LOCALE=zh_CN.57372

export CLIENT_LOCALE=zh_cn.utf8

执行下面这条命令会把ta的库导出到当前目录下的ta.exp文件夹中,其中表结构和表数据是分开存储的。

dbexport ta;

  • 导入数据:

dbimport ta -d datadbs1 -l buffered

启动数据库服务:

oninit -vy

关闭数据库服务:

onmode -ky

查看数据库版本和运行模式:

onstat -

Springboot工程 适配南大通用(gbase 8s)

引入驱动包和方言包

hibernate-5.3.20_dbt-2.0_v1.0.jar gbasedbtjdbc.jar

 driver-class-name: com.gbasedbt.jdbc.IfxDriver
  url: jdbc:gbasedbt-sqli://10.7.215.249:9088/sysmaster:GBASEDBTSERVER=gbaseserver;db_locale=zh_cn.utf8;client_locale=zh_cn.utf8;NEWCODESET=utf8,utf8,57372
  username: gbasedbt
  password: gbasedbt123
  dialect: org.hibernate.dialect.GBasedbtDialect

问题整理:

使用了Mybatis-plus的分页插件时,需要手动设置方言类型为POSTGRE_SQL
PaginationInterceptor pageHelper=new PaginationInterceptor();
pageHelper.setDialectType(DbType.POSTGRE_SQL.getDb());

  • 创建自增id语句 (SERIAL 类型表示自增)
CREATE TABLE ctl_perf_auth_info (
	id  SERIAL NOT NULL,
	create_time DATETIME YEAR TO FRACTION(5),
	remark TEXT,
	PRIMARY KEY (id) CONSTRAINT u564_1587
)
 in datadbs1 ;
  • 主键自增报错:

把表的主键自增类型设置为SERIAL

  • 在SELECT 列表中所有未包含在组函数中的列都应该包含在GROUP BY 子句中.
  • order by 后 面的字段必须出现在select 列中。
  • 不支持IF函数,需要换成下面的写法

示例:

select
					dvc_address as dvcAddress,
					dvc_name as dvcName,
						case when
						alarm_level = 1
						then SEND_TIMES
						else 0 end
					 as low,
						case when
						alarm_level = 2
						then SEND_TIMES
						else 0 end
					 as  middle,
						case when
						alarm_level = 3
						then SEND_TIMES
						else 0 end
					 as  high
				from sim_d_alarm
  • 创建序列
CREATE SEQUENCE sim_sequence 
 INCREMENT BY 1 START WITH 1 
 MAXVALUE 99999999 MINVALUE 0 
 NOCYCLE CACHE 10 ORDER; 
  • TEXT 类型的字段在数据库里无法进行比较和聚合,需要改成varchar类型
  • 不支持date_format函数,需要替换成TO_CHAR
  • concat函数只支持两个参数
  • 查询语句中的字段和表名不能使用`符号
  • group_concat函数需要替换成wm_concat()
  • boolean类型的值,不是0和1,而是 t、f,分别代表true和false,不区分大小写

例如:data_flag 的字段类型为布尔,这查询语法如下

select * from lateral_threat_main _main where _main.data_flag = 'T'
  • 不支持now()函数,需要替换成下面的写法
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')from dual
  • 不支持LOCATE(substr,str) 函数,需要用INSTR(str,substr)代替,注意参数是反过来的
  • 大小写问题,如果设置了大小写不敏感属性,则查询语句中返回的列名全部为小写。如图所示:
  • mybatis代码分页的写法,参数需要用$符号,不能用#号

select * from t_user where 1 = 1 limit ${pageNum},${pageSize}

关键字:

user、enable、label、type...

  • 22
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 南大通用gbase培训是南京大学信息管理学院推出的一项培训项目。该培训旨在为学生提供更广阔的就业机会和实践经验,同时提高他们在数据库领域的专业能力。 在南大通用gbase培训中,学生将学习关于gbase数据库的基本知识和技能。他们将了解到gbase在大数据领域中的应用以及其在企业级数据库管理中的重要性。通过课堂学习和实践训练,学生将熟悉gbase的架构、数据处理和查询等方面,掌握gbase数据库的使用方法和管理技巧。 南大通用gbase培训强调实践应用,学生将有机会亲自操作gbase数据库,并参与一些实际项目的开发和管理。这将帮助学生将所学知识应用到实际工作中,增强他们的实践能力和团队合作能力。 此外,南大通用gbase培训还为学生提供了与企业合作的机会。他们将有机会参观和交流一些知名企业的数据库管理团队,了解他们在数据库方面的需求和挑战。这将为学生日后的职业发展奠定基础,提高他们在数据库领域的竞争能力。 综上所述,南大通用gbase培训为学生提供了学习和实践gbase数据库的机会。通过这个培训项目,学生可以提高他们在数据库领域的专业能力,并增加就业机会。这是一个对于想要从事数据库管理和开发工作的学生来说非常有价值的培训项目。 ### 回答2: 南大通用gbase培训是指南京大学与浪潮集团共同合作开展的一项培训计划,旨在培养学员掌握使用gbase数据库技术的能力。gbase数据库是由浪潮集团自主研发的一种高性能、高可用的关系型数据库管理系统。 这项培训计划主要面向计算机相关专业的学生和从业人员,通过系统的学习和实践,使学员全面了解gbase数据库技术的原理和应用。培训内容包括数据库基本概念、数据模型设计、SQL语言基础、数据库管理、数据备份与恢复等方面的知识。学员还将进行实际案例分析和实验操作,提升在实际工作中使用gbase数据库的能力。 南大通用gbase培训具有以下几个特点:一是培训内容丰富全面,既有理论知识的讲解,也有实际案例分析和实验操作,使学员既能理解数据库基本原理,又能掌握实际应用技能。二是培训由南京大学计算机学院的教授和浪潮集团的专业工程师共同组成的师资团队进行授课,确保培训质量和专业性。三是培训期间还提供社交交流和团队合作的机会,促进学员之间的互动和合作,增强学习效果。 通过参加南大通用gbase培训,学员可以获得国内领先的数据库技术培训,提升在数据库领域的竞争力和求职竞争力。同时,这项培训也有助于加深学员对数据库技术的理解,提高其在实际工作中的应用能力,为个人职业发展打下坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Memory_2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值