解决达梦数据库加载libgeos_c.dll失败错误(-2870)的完整步骤

2026-03-23 超腾开源 3 次阅读 0 次点赞
本文针对达梦数据库用户在执行SP_INIT_GEO_SYS(1)初始化空间数据库时遇到的“加载第三方库[libgeos_c.dll]失败,库文件缺失或版本太旧(-2870)”错误,提供了完整的解决方案。核心解决方法是获取并安装达梦官方提供的空间数据扩展包。文档详细说明了如何通过官方渠道获取适用于Windows、CentOS、麒麟系统的空间数据包,并给出了具体的安装步骤:解压至达梦安装目录的bin文件夹,在Linux系统中需使用chmod命令赋予执行权限,最后重启数据库服务。文中还验证了自行编译libgeos或使用MSYS2预编译包均无法解决此问题,强调了必须使用达梦官方提供的特定版本空间数据包。附有Windows(Navicat)和Linux(disql)下的测试方法,以及启用/停用空间数据库功能的命令说明,是一份经过实践验证的技术指南。

现象描述

1、安装达梦数据库后,使用SYSDBA用户登录,创建了GEO用户当作空间数据库用户。

2、使用Navicat连接达梦数据库,执行以下SQL语句报错。

SP_INIT_GEO_SYS(1);

具体错误:

[HY000] 加载第三方库[libgeos_c.dll]失败,库文件缺失或版本太旧 (-2870)

解决方法

1、进入达梦数据库官网,打400电话联系客服获取达梦数据库空间数据包。

官方网站:https://www.dameng.com/

咨询热线: 400-991-6599

技术咨询: dmtech@dameng.com

商务咨询: 400@dameng.com

windows、麒麟、centos空间数据包下载地址:https://pan.baidu.com/s/13vIR3Dni2iVkmCRGqr2N4Q?pwd=jfj7

windows空间数据包:dm8_20260319_x86_win_64_ent_8.1.4.80_pack48_spatial.zip

麒麟空间数据包:dm8_20251023_FTarm_kylin4_64_ent_8.1.4.116_pack8_spatial.zip

centos空间数据包:dm8_20251016_x86_centos7_64_ent_8.1.4.116_pack8_spatial.zip

2、把空间数据包解压到达梦安装目录的bin目录中即可。特别注意:在Linux系统上,一是要选择正确的空间数据包,二是要使用 chmod 赋予所有动态链接库执行权限。

ScreenShot_2026-04-14_091501_352.png

Linux上达梦数据库添加空间数据包命令,仅供参考。

unzip dm8_20251016_x86_centos7_64_ent_8.1.4.116_pack8_spatial.zip
mv shapefilelib.so ./spatial/ ./dmdbms/bin/
cd dmdbms/bin
chown -R dmdba:dinstall *
chmod +x shapefilelib.so ./spatial/*

3、在任务管理器中重启达梦数据库服务DmServiceDMSERVER。

ScreenShot_2026-04-14_091607_302.png

4、连接达梦数据库执行以下sql语句进行测试。

SP_INIT_GEO_SYS(1);

(1)在windows上可以使用navicat连接达梦数据库进行测试。

ScreenShot_2026-04-14_092306_289.png

(2)在Linux上可以使用disql命令行工具进行测试。

ScreenShot_2026-04-14_095701_407.png

说明:

启用空间数据库功能:SP_INIT_GEO_SYS(1);

停用空间数据库功能:SP_INIT_GEO_SYS(0);

常见问题

1、是否可以下载libgeos开源项目编译libgeos.dll和libgeos_c.dll来解决该问题?

经过测试,不行,仍然报加载第三方库[libgeos_c.dll]失败,库文件缺失或版本太旧的错误。

2、不自己编译libgeos,从msys2下载编译好的geos包行不行?

经过测试,不行。仍然报错:[HY000] 加载第三方库[libgeos_c.dll]失败,库文件缺失或版本太旧 (-2870)。

msys2包下载地址:https://packages.msys2.org/packages/mingw-w64-x86_64-geos

参考文档

GeoServer使用达梦当作空间数据库:https://eco.dameng.com/document/dm/zh-cn/start/GeoServer-development

libgeos源码:https://github.com/libgeos/geos

libgeos官网:https://libgeos.org/

最后更新于3小时前
本文由人工编写,AI优化,转载请注明原文地址: 达梦数据库libgeos_c.dll加载失败解决方法:空间数据包安装指南

评论 (0)

登录 后发表评论

暂无评论,快来发表第一条评论吧!