
近期随着工作需要尝试使用python连接DM数据库。下面是工作过程中根据查找资料实现的过程记录下来提升下次快速搭建环境效率。一、搭建基础环境1、安装python软件和DM软件1python官方下载地址https://www.python.org/downloads/然后按官方的手册安装python即可。2dm官方下载地址https://www.dameng.com/list_103.html 然后可以按官方文档或我之前的文章安装DM数据库。两个软件都是普通的应用软件安装此处就不再赘述。二、安装DM DPI使用python连接DM一般是使用DM DPI组件完成故此处以这个为例介绍。可使用指令 pip show dmPython 查看dmPython版本如下图进入达梦数据库安装目录下的 dmPython 目录pip install dmPython -timeout1000三、验证方式# python3 进入python环境 import dmPython conn dmPython.connect(SYSDBA, Dmsys_123, localhost:5236) dmPython.apilevel执行命令python setup.py install安装成功后是如下效果图四、编写测试程序验证连接编写程序将如下代码拷贝生成一个python源码文件如mytest.py文件名可以随意改。# coding:utf-8import dmPython ##此处关键引入程序包try:# 创建达梦数据库连接 对应的连接参数按实际情况调整conn dmPython.connect(usersysdba, passwordpassword, serverIP, port5236)# 创建数据库操作对象cursor conn.cursor()# try:# # 清空表初始化测试环境# cursor.execute(delete from Table)# except (dmPython.Error, Exception) as err:# print(err)try:# 插入数据# cursor.execute(insert into DMHR.EMPLOYEE (EMPLOYEE_ID,EMPLOYEE_NAME,EMAIL,HIRE_DATE,JOB_ID) values(1157, 马云,888888888qq.com,2023-05-12,42))# print(python: insert success!)# # 更新数据# cursor.execute(update DMHR.EMPLOYEE set EMPLOYEE_NAME 刘强东 where EMPLOYEE_ID 1157)# print(python: update success!)# 查询数据cursor.execute(select name from DMHR.MYCOUNT)res cursor.fetchall()for tmp in res:for c1 in tmp:print(c1)print(python: select success!)# # 删除数据# cursor.execute(delete from DMHR.EMPLOYEE where EMPLOYEE_ID 1157)# print(python: delete success!)#except (dmPython.Error, Exception) as err1:print(err1)conn.close()except (dmPython.Error, Exception) as err:print(err)2、使用python mytest.py 验证返回情况若正常输出结果表示成功完成。注可能遇到问题1、若有类似提示setup.py:57: SyntaxWarning: invalid escape sequence \s原因Python3将字符串文字解释为Unicode字符串\视为转义的Unicode字符。解决方案请将对应行中的“\”再转义一下即改为“\\”.2、ModuleNotFoundError: No module named setuptools原因其实就是字面意思当前系统中缺少 setuptools模块故直接安装上该模块就可以了。解决方案pip install setuptools 使用该指令安装对应模块