背景
地理信息数据具有复杂、多源异构、海量等特点,基于各种困难,地理信息行业的办公软件长期被国外软件所垄断。而地理数据涉及国家的经济、民生等领域,具有高度的保密性质。软件国产化的推进必将是地理信息行业的大趋势。
国内数据库--人大金仓(Kingbase)是一款面向大规模并发交易处理的企业级关系型数据库,可以支持市面上主流的各大数据库,尤其是还可支持空间数据库的存储及迁移(postgreSql)。所以,我们这次做测试,优先选择了它。
运行环境:
人大金仓安装于虚拟机下(Linux环境)
GeoScene Pro安装于Win11下
人大金仓数据库安装
提示:这里选用的是人大金仓提供的可支持postgis扩展的安装包,本文提供的是操作的思路,具体版本的安装包请根据自己电脑的系统下载。
(1)命令安装流程:
创建kingbase用户
useradd kingbase
挂载安装包
mount –o loop
/home/setup/newkdb20231123/ KingbaseES_V008R006C006B0021_Lin64_install.iso /mnt
切换到kingbase用户下(以下命令必须在非root用户下执行)
su – kingbase
给安装目录赋予权限
chown –R kingbase:kingbase /opt
进入mnt下执行
cd /mnt
开始安装
./setup.sh
(2)安装配置设置:
安装路径选择
data存储路径,必须是一个空文件夹
端口号:默认54321
用户名:默认system
设置数据库密码
设置encode格式
设置数据库模式:如果是要用gis选择PG模式
选择是否对大小写敏感(如果是PG模式必须选1,否则安装时会报错)
选择存储大小
一切设置好后,就开始安装,最后安装成功,用此命令可以把数据库跑起来
跑成功后,提示
(3)创建gisdata数据库:
新建gisdata数据库,切入到server/bin路径下,执行以下命令:
./ksql -U system -d gisdata -p 54321
创建sde用户和schema
启用空间数据库插件
create extension postgis;(必须)
create extension postgis_raster; (必须)
create extension postgis_sfcgal;
create extension fuzzystrmatch;
create extension postgis_tiger_geocoder;
set exclude_reserved_words = ‘level’;
create extension postgis_topology; (必须)
create extension address_standardizer;
create extension address_standardizer_data_us;
查看模块启动情况
调整 addgeometrycolumn 函数的 proisstrict 属性:
使用 update 语句将 addgeometrycolumn 函数,即 8 个参数的 addgeometrycolumn
函数的 strict 调整为 false;
alter system set allow_system_table_dml = on;
select pg_reload_conf();
select oid, proname, proargtypes, proisstrict from pg_proc where
proname ilike ‘%addgeo%’;
update pg_proc set proisstrict = false
(4)GeoScene Pro连接金仓库:
细节
1. 人大金仓官网提供的安装包可能没有带postgis扩展,需要找人大金仓要。还有,安装前需要查看下电脑的配置和环境,下载对应的安装包。
2. 因为我卸载过之前安装的金仓数据库,电脑没有重启过,其实这个老的进程还在跑,导致我新装的金仓库连接到旧的,从而在创建数据库的时候出现各种错误,所以在这种情况下要查看进程(ps -ef),把和金仓有关的进程杀掉(kill –s 9 端口号)。
3. 里面每步都很重要,请不要遗漏,否则都可能造成连接失败。
小结
接下来,我将研究下arcgis连接人大金仓数据库,目前我电脑安装的是10.2版本的arcgis,初步测试了下连接失败,不清楚是不是和版本有关。金仓给到我的文档用的是10.7版本的,因为我没有10.7版本的库,准备重新安装个10.8版本的试试。