Bootstrap

Windows安装配置国产达梦数据库、配置Python接口

前言

达梦数据库(Dameng Database)是由武汉达梦数据库股份有限公司开发的一款高性能的关系型数据库管理系统。该数据库管理系统具有完全自主的知识产权,并且是中国国内数据库领域的知名品牌。达梦数据库致力于为用户提供稳定、可靠的数据库解决方案,尤其在政府和企业级市场有着广泛的应用。在Windows上安装达梦数据库并配置Python接口较麻烦,需要进行多项配置。

1.下载安装达梦数据库

在官网下载页面产品下载 | 达梦数据库 (dameng.com)选择合适的版本下载安装包:

达梦下载页面

下载后解压,并点击iso镜像文件,并点击驱动文件夹中的setup.exe文件进行安装,如下:

安装目录

安装完成后,安装路径中的一个文件夹为drivers,包含了达梦数据库所需要的驱动,如下:

驱动目录

其中,有两个目录,分别为dpi和python。

2.配置达梦环境变量

首先在系统变量中新增变量名DM_HOME,值为达梦数据库的安装路径,例如D:\dmdbms,如下:

配置环境变量

然后在系统变量的Path中添加达梦数据库安装路径下的bin目录路径,例如D:\dmdbms\bin,如下:

Path环境变量

3.安装Microsoft Visual C++ 14.0

dmpython的安装依赖于Microsoft Visual C++ 14.0,因此在安装dmpython之前需要先安装Microsoft Visual C++ 14.0,安装过程可参考https://blog.csdn.net/qq_17447307/article/details/118938887

4.安装达梦Python接口dmpython

找到dmpython所在目录,即达梦安装目录下的drivers\python\dmPython子目录,例如D:\dmdbms\drivers\python\dmPython,在CMD中进入该路径下,如果需要在虚拟环境下安装dmpython,则需要先使用conda等环境管理工具切换到所需的虚拟环境,然后执行命令进行编译安装:

python setup.py install

安装执行完成后,会输出如下内容:

creating 'dist\dmPython-2.5.5-py3.8-win-amd64.egg' and adding 'build\bdist.win-amd64\egg' to it
removing 'build\bdist.win-amd64\egg' (and everything under it)
Processing dmPython-2.5.5-py3.8-win-amd64.egg
removing 'd:\miniconda3\envs\dataaudit\lib\site-packages\dmPython-2.5.5-py3.8-win-amd64.egg' (and everything under it)
creating d:\miniconda3\envs\dataaudit\lib\site-packages\dmPython-2.5.5-py3.8-win-amd64.egg
Extracting dmPython-2.5.5-py3.8-win-amd64.egg to d:\miniconda3\envs\dataaudit\lib\site-packages
error: [WinError 5] 拒绝访问。: 'd:\\miniconda3\\envs\\dataaudit\\lib\\site-packages\\dmPython-2.5.5-py3.8-win-amd64.egg\\__pycache__\\dmPython.cpython-38.pyc.2082919480640' -> 'd:\\miniconda3\\envs\\dataaudit\\lib\\site-packages\\dmPython-2.5.5-py3.8-win-amd64.egg\\__pycache__\\dmPython.cpython-38.pyc'

包含了dmPython-2.5.5-py3.8-win-amd64.egg文件夹(根据dmPython版本、Python版本和系统的不同,文件夹名可能有所差异)的路径,例如d:\miniconda3\envs\dataaudit\lib\site-packages\dmPython-2.5.5-py3.8-win-amd64.egg,需要将达梦数据库安装目录下的驱动目录里的dpi目录(例如D:\dmdbms\drivers\dpi)下的所有文件拷贝到dmPython-2.5.5-py3.8-win-amd64.egg文件夹,dpi文件夹如下:

dpi目录

dmPython-2.5.5-py3.8-win-amd64.egg目录如下:

egg目录

除此之外,还需要将dpi目录下的两个文件(libeay32.dll和ssleay32.dll)复制到当前Python环境所用的python.exe所在目录,例如D:\Miniconda3\envs\dataaudit,原始的dpi目录下的两个文件如下:

库文件

拷贝后的Python环境目录下的两个文件如下:

在这里插入图片描述

5.测试验证

安装好之后,可以在命令行进行测试,首先进行导入的测试:

Python 3.8.18 (default, Sep 11 2023, 13:39:12) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import dmPython

再创建连接对象:

>>> conn = dmPython.connect(user='username', password='password', server='127.0.0.1', port=5236)
>>> conn
<dmPython.Connection to username@127.0.0.1:5236>
>>> conn.server
'127.0.0.1'
>>> conn.user
'username'

可以看到,已经连接成功。

总结

国产数据库达梦的安装过程较多、依赖较多,特别是在Windows本地安装,在实际安装过程中也要注意一些细节。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;