由于公司要求,需要将原先的数据库换成国产数据库,选用的是人大金仓数据库,借此记录一下安装使用过程中出现的问题,人大金仓的安装还是很方便的 ,安装的过程中没有什么难点,官网给的安装文档完全够用,但是在安装的过程中,我选用的是KingbaseES_V008R006C008B0014_Win64_install.iso版本,安装的过程中勾选了大小写不敏感,但是在使用过程中发现还是却分大小写,查询语句必须要加引号才能解决,由于项目已经开发完成,加引号不现实,所以选择从数据库方面解决问题。
具体解决步骤如下:
1.安装完成后,查询语句出现如下问题,字段中出现大小写时,必须要加引号进行区分,
但是在安装的过程中明显已经选择了不区分大小写,但是数据库没有按照设置初始化,目前不知道什么原因,由图可知,大小写敏感还是处于开启状态,这个版本on属于关闭,off属于开启,版本不一样,表示的方式也不一样。
V8R3版本检查方法:
在人大金仓数据库客户端执行语句:show case_sensitive; 返回结果on:表示大小写敏感; 返回结果off:表示大小写不敏感
V8R6版本检查方法:
执行语句:show enable_ci; 返回结果on:表示大小写不敏感; 返回结果off:表示大小写敏感
所以,需要对数据库重新进行初始化,设置大小写不敏感
V8R3版本设置方法:
① 进入Kingbase/ES/V8,将原有data目录备份为data.bak
② 在Kingbase/ES/V8/Server/bin下,执行initdb -Usystem -W123456 -D data目录 --case-insensitive
命令解释:
-Usystem:system为管理员用户
-W123456: 123456为管理员密码
-D data目录: data目录即数据库安装目录
--case-insensitive :表示大小写不敏感
举例:initdb -Usystem -Wsystem -D Kingbase/ES/V8/data --case-insensitive
③ 重启kingbase生效。
1.2.2. V8R6版本设置方法:
① 进入Kingbase/ES/V8,将原有data目录备份为data.bak
② 在Kingbase/ES/V8/Server/bin下,执行initdb -Usystem -W --enable-ci -D data目录
命令解释:
-Usystem:system为管理员用户
-D data目录: data目录即数据库安装目录
--enable-ci :表示大小写不敏感
举例:initdb -Usystem -W --enable-ci -D Kingbase/ES/V8/data
随后输入管理员用户密码
③ 重启kingbase生效。
过程中,如果出现data文件夹正在占用,可以选择奖data文件里面的内容清空效果一样,以V8R6版本为例:
1.按照提示输入密码,开始初始化数据库
2.按照提示开启数据库
3.再次查询,发现数据库已经不区分大小写了
至此,数据库已经重新设置完成。