【DM版本】:V8.1
【操作系统】:liunx
【问题描述】*:用python3.7.9调用达梦报错
[root@SJMX-SERVICE-02 http]# python3
Python 3.7.9 (default, Jun 10 2022, 11:25:35)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
import dmPython
connec>>> connection = dmPython.connect('SJMX_USER', 'Changeme#123', '127.0.0.1:5236', 'SJMX_USER')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
dmPython.DatabaseError: [CODE:-70089]加密模块加载失败
就是个垃圾软件。安装了各种连不上。。。。
请问问题解决了么?我也遇到这个问题了
毫无疑问,这是一推非常有用的废话,没解决任何问题
参照达梦程序员手册方法连接下,检查下你的用户密码,ip和端口写对了没
+1 ,到底怎么解决的啊
我也遇到这个问题,特意研究了1天。
问题:
我的docker打包后发现连不上数据库了,出现: dmPython.DatabaseError: [CODE:-70089]加密模块加载失败
于是回退之前的镜像,解决问题。
经研究,发现是dmPython版本问题,2.5.22不行,回退dmPython版本解决:
pip uninstall dmPython
pip install dmPython==2.5.8
注意,我用的是 python:3.12-fedora 基础镜像。
我之前用的是dmPython = "2.5.8"
升级到dmPython = "2.5.22"之后 一直报错
在docker里面增加下面的内容 就可以了
apt-get install -y openssl libssl-dev libaio1
该报错意味着在尝试使用达梦数据库的加密功能时,相关的加密模块未能成功加载。可能由以下几个原因导致,建议依次排查:
加密模块未正确安装或配置:确保加密模块(例如,硬件加密卡驱动或软件加密库)已正确安装并配置在达梦数据库的运行环境中。
加密模块路径未添加到系统环境变量:加密模块的路径可能需要添加到系统的环境变量中,例如 LD_LIBRARY_PATH,以确保数据库能够找到并加载加密模块。
权限问题:加密模块可能由于权限问题无法被数据库加载。确保运行数据库进程的用户具有足够的权限访问和加载加密模块。
加密模块与数据库版本不兼容:确认加密模块的版本与数据库版本兼容。不兼容的版本可能导致加载失败。
加密模块文件损坏或缺失:检查加密模块的文件是否完整,没有被意外删除或损坏。
针对以上问题,可以尝试以下解决方案:
重新安装加密模块:如果加密模块在安装过程中出现问题,重新安装可能是解决问题的最直接方法。
检查并修改环境变量:确保加密模块的路径已正确添加到环境变量中。可以在数据库启动脚本中添加必要的环境变量,或者在系统级别的环境变量中进行设置。
检查权限设置:验证运行数据库服务的用户是否具有访问加密模块的必要权限。可能需要调整文件或目录的权限,或者更改数据库服务的运行用户。
验证加密模块版本:确认加密模块的版本与数据库版本兼容。如果版本不匹配,可能需要更新数据库或更换加密模块版本。
检查加密模块文件完整性:确保加密模块的所有必要文件都存在且未被损坏。可能需要从供应商处重新获取模块文件并重新安装。