一、简介
dmPython 是 DM 提供的依据 Python DB API version 2.0 中 API 使用规定而开发的数据库访问接口。dmPython 实现这些 API,使 Python 应用程序能够对 DM 数据库进行访问。
dmPython 通过调用 DM DPI 接口完成 python 模块扩展。在其使用过程中,除 Python标准库以外,还需要 DPI 的运行环境。
二、使用场景
应用服务器与数据库服务器分开规划,且应用服务器上不安装数据库,这种情况下安装dmPython
三、注意事项
- 建议数据库软件包中自带的dmPython源码包,减少摸不着头脑的错误。
- 编译安装时,它会探测数据库软件目录,最好提前设置好DM_HOME环境变量。
四、具体操作
1. 拷贝DB服务器相关文件
推荐使用随同数据库软件包下的相关文件以及驱动包,不推荐使用第三方渠道的下载包或其他数据库版本的目录文件以及驱动包
拷贝数据库安装目录的三类目录文件到应用服务器上
- 数据库服务器上$DM_HOME/drivers
- $DM_HOME/bin目录
- $DM_HOME/include目录
2. 添加环境变量
将如下四个路径,加入到PATH中
3.编译驱动
打开cmd进入D:\dmdbms\drivers\python\dmPython执行如下命令
- dmPython在达梦数据库的安装目录下面,路径为【数据库安装路径】/drivers/python(我的安装路径是D:\damba\dm8\drivers\python\dmPython)
- 进入到dmPython中 编译,执行以下命令
python setup.py install
如图所示即为安装成功。
如果出现如下提示error: Microsoft Visual C++ 9.0 is required.
请参考【Q&A】中的解决方案
4 验证dmPython
如果出现如下则说明安装成功
5 测试是否连接成功
# !/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】中查看
Q&A
1. pip安装三方库不成功
提示:WARNING: You are using pip version 20.2.3, however version 20.2.4 is available.
原因:pip版本过低导致安装第三方库失败
## 直接输入下面命令解决
python -m pip install --upgrade pip
2. error: Microsoft Visual C++ 9.0 is required
原因:包编译的时候缺少C++的编译环境,所以只需要安装即可,安装网盘链接中VCForPython27.msi
文件。下载完成后双击安装
3. 控制台乱码
修改Pycharm的编码,window默认是gbk。
解决方案
4.ImportError: DLL load failed: 找不到指定的模块
原因是:Python 3.8 变更了 Windows 下动态链接库 (DLL) 的加载规则。 新的规则提高了安全性,默认情况下仅能从可信的位置(Trusted Locations)加载 DLL 依赖,一定程度上避免诸如 DLL 劫持之类的安全风险。
工具中的做法
调用达梦数据库时需要调用DM数据库的一些DLL文件,因为找不到所以报错了。
在项目启动时,在Environment variables
中配置环境变量
注意:D:\damba\dm8是我本地dm的安装路径,需要替换成自己的。
PYTHONUNBUFFERED=1;PATH=PATH=D:\damba\dm8\drivers\\;D:\damba\dm8\drivers\logmnr\\;D:\damba\dm8\bin
系统中替换
将D:\dmdbms\drivers\dpi下的所有文件,拷贝到sys.path的最后一个目录下面。拷贝到其他目录仍然会报错。
5.error: Microsoft Visual C++ 14.0 is required
资料包中下载
双击visualcppbuildtools_full.exe,选择默认即可,点击安装,等待10分钟左右即可完成安装。文章来源:https://www.toymoban.com/news/detail-444668.html
资料
链接:https://pan.baidu.com/s/1Xv8xmy83VbA42FVk7_NtPA 提取码:b2u8文章来源地址https://www.toymoban.com/news/detail-444668.html
到了这里,关于Window环境下不安装DM数据库,编译dmPython的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!