windows安装、卸载kingbase (人大金仓)
安装
1、下载
官网地址:https://www.kingbase.com.cn/
官网上方导航栏或底部 下载与服务 中找到软件下载
在版本中选择需要安装的版本,本次以kingbase8R6为例
3.安装数据库程序
下载完成后,解压运行 KINGBASE.exe
选择刚才下载的授权文件
启动
1、创建数据存储文件夹data,右键文件夹属性-安全将访问权限打开(没有权限将无法创建data目录)
2、打开命令窗口cd 到 安装目录\Server\bin目录
3、命令窗口输入 initdb -D “data文件夹的绝对路径” 即可生成data目录
4、重新启动 ,输入 sys_ctl start -D “data数据目录的绝对路径” 即可启动服务(默认服务启动失败可自行注册)
启动失败
导致:data数据目录无法正常创建,服务正常无法启动
解决:手动生成指定data目录
结束
sys_ctl stop -D “D:/soft/kingbase/ES/V8/data”
卸载
添加到进程
注册数据库服务sys_ctl register -N “服务名称” -D “data数据目录的绝对路径”
注销数据库服务sys_ctl unregister -N “服务名称” -D “data数据目录的绝对路径”
客户端工具
kingbase有默认的客户端工具
连接时报错:
com.kingbase8.util.KSQLException: 致命错误: 用户"system" Password 认证失败(kbjdbc:autodetected server-encoding to be GB2312, if the message is not readable, please check database logs and/or host,port,dbname,user,password,pg_hba.conf)
原因:
在Windows系统部署了KingbaseES数据库服务端,但是由于widnows系统不支持连接使用基于scram-sha-256/md5认证方法,导致连接出现异常。
注意:KingbaseES数据库默认连接使用认证方法是scram-sha-256。
解决方法:
1.检查KingbaseES数据库sys_hba.conf配置文件,如果认证方法(METHOD列的值)是md5/scram-sha-256,修改认证方法(METHOD列的值)为password/trust。
2.修改KingbaseES数据库sys_hba.conf配置文件连接认证方法后,重新加载下配置文件,然后再次尝试连接。
致命错误: 角色 “system” 不存在 (kbjdbc: autodetected server-_encoding to be GB2312, if the msg is not readable, please check database logs and/or _host, port, dbname, user, password, pg_hba.conf)
在以上错误的基础上,我把sys_hba.conf配置文件的password改为trust
仍然报错 角色 “system” 不存在
原因:安装的时候没有默认安装选项,在大小写敏感的时候选择了否
解决:卸载重新安装,无需修改sys_hba.conf配置,直接工具连接输入密码就可以连接成功
hibernate 连接kingbase
<dependency>
<groupId>kingbase</groupId>
<artifactId>kingbase8</artifactId>
<version>8.6.0</version>
</dependency>
<dependency>
<groupId>kingbase</groupId>
<artifactId>hibernate</artifactId>
<version>4.3.2</version>
</dependency>
下载kingbase8-8.6.0.jar kingbase8-8.6.0.jar
下载hibernate-4.3.2.jar hibernate-4.3.2.jar
在hibernate.cfg.xml中配置人大金仓数据库连接配置信息
<!-- 人大金仓kingbase数据库-->
<property name="dialect">org.hibernate.dialect.Kingbase8Dialect</property>
<property name="connection.url">jdbc:kingbase8://127.0.0.1:54321/itp_xmdag</property>
<property name="connection.driver_class">com.kingbase8.Driver</property>
<property name="connection.username">system</property>
<property name="connection.password">123456</property>
<property name="hibernate.hbm2ddl.auto">create</property>
数据库与应用适配常见错误
1、启动失败
Caused by: com.kingbase8.util.KSQLException: The authentication type 10 is not supported. Check that you have configured the sys_hba.conf file to include the client’s IP addre ss or subnet, and that it is using an authentication scheme supported by the driver.
换个高版本驱动板 kingbase8.xx.xx.xx.jar
2、若数据库字段类型为clob使用hibernate进行数据的操作若实体中传的值为空则不能传空串需要传null。
数据库过期
D:\soft\kingbase\ES\V8\KESRealPro\V008R006C008B0014\Server\bin>sys_ctl start -D “D:\soft\kingbase\ES\V8\data”
等待服务器进程启动 …致命错误: XX000: License file expired.
位置: KesMasterMain, master.c:850
已停止等待
sys_ctl: 无法启动服务器进程
检查日志输出.
授权文件
根据安装版本在官网下载授权文件https://download.kingbase.com.cn/xzzx/index.htm
把下载好的文件内容拷贝到旧的文件中进行保存,直接替换文件可能会文件类型不一致。