dmPython 是 DM 提供的依据 Python DB API version 2.0 中 API 使用规定而开发的数据库访问接口。dmPython 实现这些 API;使 Python 应用程序能够对 DM 数据库进行访问。
dmPython 通过调用 DM DPI 接口完成 python 模块扩展。在其使用过程中;除 Python标准库以外;还需要 DPI 的运行环境。
应用服务器与数据库服务器分开规划;且应用服务器上不安装数据库;这种情况下安装dmPython
推荐使用随同数据库软件包下的相关文件以及驱动包;不推荐使用第三方渠道的下载包或其他数据库版本的目录文件以及驱动包
拷贝数据库安装目录的三类目录文件到应用服务器上
数据库服务器上$DM_HOME/drivers$DM_HOME/bin目录$DM_HOME/include目录将如下四个路径;加入到PATH中
打开cmd进入D:dmdbmsdriverspythondmPython执行如下命令
dmPython在达梦数据库的安装目录下面;路径为【数据库安装路径】/drivers/python(我的安装路径是D:dambadm8driverspythondmPython) 进入到dmPython中 编译;执行以下命令python setup.py install
如图所示即为安装成功。
如果出现如下提示error: Microsoft Visual C;; 9.0 is required.请参考【Q&A】中的解决方案
如果出现如下则说明安装成功
# !/usr/bin/python
# coding:utf-8
import dmPython
try:
conn = dmPython.connect(user=;SYSDBA;, password=;SYSDBA;, server=;localhost;, port=5236)
cursor = conn.cursor()
print(;python: conn success!;)
conn.close()
except (dmPython.Error, Exception) as err:
print(err)
如果所示;即为成功。
如是下图;
如果提示ImportError: DLL load failed: 找不到指定的模块。请到【Q&A】中查看
提示;WARNING: You are using pip version 20.2.3, however version 20.2.4 is available.
原因;pip版本过低导致安装第三方库失败
## 直接输入下面命令解决
python -m pip install --upgrade pip
原因;包编译的时候缺少C;;的编译环境;所以只需要安装即可;安装网盘链接中VCForPython27.msi文件。下载完成后双击安装
修改Pycharm的编码;window默认是gbk。
解决方案
原因是;Python 3.8 变更了 Windows 下动态链接库 (DLL) 的加载规则。 新的规则提高了安全性;默认情况下仅能从可信的位置;Trusted Locations;加载 DLL 依赖;一定程度上避免诸如 DLL 劫持之类的安全风险。
调用达梦数据库时需要调用DM数据库的一些DLL文件;因为找不到所以报错了。
在项目启动时;在Environment variables中配置环境变量
注意;D:dambadm8是我本地dm的安装路径;需要替换成自己的。
PYTHONUNBUFFERED=1;PATH=PATH=D:dambadm8drivers;D:dambadm8driverslogmnr;D:dambadm8in
将D:dmdbmsdriversdpi下的所有文件;拷贝到sys.path的最后一个目录下面。拷贝到其他目录仍然会报错。
资料包中下载
双击visualcppbuildtools_full.exe;选择默认即可;点击安装;等待10分钟左右即可完成安装。
链接;https://pan.baidu.com/s/1Xv8xmy83VbA42FVk7_NtPA 提取码;b2u8