一、Windows安装dmPython
1、安装环境和版本:
a、操作系统版本:Windows Server 2008R2
b、数据库版本:达梦DM Database Server 64 V8
c、python版本:Python 3.8.2
2、安装过程和问题:
a、打开cmd进入达梦数据库安装目录E:\dmdbms\drivers\python\dmPython,执行以下命令:
E:\dmdbms\drivers\python\dmPython>python setup.py install
Traceback (most recent call last):
File “setup.py”, line 103, in
raise DistutilsSetupError(“cannot locate an Dameng software ” /
distutils.errors.DistutilsSetupError: cannot locate an Dameng software installation
这时提示报错,原因是操作系统没有配置环境变量,需要在PATH中加入E:\dmdbms\bin
b、再执行python setup.py install
E:\dmdbms\drivers\python\dmPython>python setup.py install
running install
running bdist_egg
running egg_info
writing dmPython.egg-info\PKG-INFO
writing dependency_links to dmPython.egg-info\dependency_link
writing top-level names to dmPython.egg-info\top_level.txt
reading manifest file ‘dmPython.egg-info\SOURCES.txt’
writing manifest file ‘dmPython.egg-info\SOURCES.txt’
installing library code to build\bdist.win-amd64\egg
running install_lib
running build_ext
building ‘dmPython’ extension
error: Microsoft Visual C++ 14.0 is required. Get it with “Mi
Build Tools”: https://visualstudio.microsoft.com/downloads/
这里提示需要安装Microsoft Visual C++ 14.0或者更高版本,以通过“visualcppbuildtools_full.exe”在线安装,但是一般都会出现“安装包丢失或损坏”,安装不成功。网上说的使用离线安装包“solved_packageMissInInstalling_mu_visual_cpp_build_tools_2015_update_3_x64_dvd_dfd9a39c.iso”解压后安装也会出现“安装包丢失或损坏”。这并不是安装包的问题,而是缺少以下两个证书
下载这两个证书并且要安装到“受信任的根证书颁发结构”才有效,再次安装Microsoft Visual C++ 14.0即可成功,安装完成后需要重启计算机,再次执行python setup.py install即可安装成功
c、在python导入dmpython
>>> import dmPython
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
ImportError: DLL load failed while importing dmPython: 找不到指定的模块。
此时会报错,解决方法是:先查看sys.path的最后一个目录
>>> import sys
>>> sys.path
[”, ‘C:\\Users\\lee\\AppData\\Local\\Programs\\Python\\Python38\
‘C:\\Users\\lee\\AppData\\Local\\Programs\\Python\\Python38\\DLL
\lee\\AppData\\Local\\Programs\\Python\\Python38\\lib’, ‘C:\\User
\\Local\\Programs\\Python\\Python38′, ‘C:\\Users\\lee\\AppData\\R
\Python38\\site-packages’, ‘C:\\Users\\lee\\AppData\\Local\\Progr
thon38\\lib\\site-packages’, ‘C:\\Users\\lee\\AppData\\Local\\Pro
Python38\\lib\\site-packages\\dmpython-2.3-py3.8-win-amd64.egg’]
将达梦数据库安装目录下 E:\dmdbms\drivers\dpi下的所有文件,拷贝到sys.path的最后一个目录下面,再次导入import dmPython成功
d、可以使用自己的IDE环境测试连接达梦数据库
import dmPython
conn=dmPython.connect(user='SYSDBA',password='dameng123',server='localhost',port=5236)
cursor=conn.cursor()
sql='select status$ from v$instance'
cursor.execute(sql)
value=cursor.fetchall()
print(value)
测试结果:
[(‘OPEN’,)]
至此,Windows下dmPython安装成功!
二、Linux安装dmPython
1、安装环境和版本:
a、操作系统版本:银河麒麟V10,4.19.90-24.4.v2101.ky10.x86_6
b、数据库版本:达梦DM Database Server 64 V8
c、python版本:Python 2.7.18
2、安装过程和问题:
a、进入达梦数据库安装目录dm8/drivers/python/dmPython下,执行一下命令:
[root@localhost dmPython]# python setup.py install
Traceback (most recent call last):
File “setup.py”, line 103, in <module>
raise DistutilsSetupError(“cannot locate an Dameng software ” \
distutils.errors.DistutilsSetupError: cannot locate an Dameng software installation
跟Windows安装一样,需要设置环境变量:
[root@localhost ~]# vi .bash_profile
根据数据库安装目录,在.bash_profile 文件最后加入一下内容:
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/dm8/bin”
export DM_HOME=”/dm8″
再次执行安装python setup.py install即可安装成功
b、测试数据库连接
[root@localhost ~]# python
Python 2.7.18 (default, Mar 14 2021, 14:54:03)
[GCC 7.3.0] on linux2
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import dmPython
>>> conn=dmPython.connect(user=’sysdba’,password=’Dameng123′,server=’localhost’,port=’5237′)
>>> cursor=conn.cursor()
>>> cursor.execute(‘select status$ from v$instance’)
<__builtin__.DmdbCursor on <dmPython.Connection to sysdba@localhost:5237>>
>>> value=cursor.fetchall()
>>> value
[(‘OPEN’,)]
>>>
至此,Linux安装dmPython成功!