python连接DM数据库

近期,随着工作需要,尝试使用python连接DM数据库。下面是工作过程中根据查找资料实现的过程,记录下来,提升下次快速搭建环境效率。

一、搭建基础环境

1、安装python软件和DM软件

(1)python官方下载地址:https://www.python.org/downloads/,然后按官方的手册安装python即可。

(2)dm官方下载地址:https://www.dameng.com/list_103.html ,然后可以按官方文档或我之前的文章安装DM数据库。两个软件都是普通的应用软件安装,此处就不再赘述。

二、安装DM DPI

使用python连接DM,一般是使用DM DPI组件完成,故此处以这个为例介绍。

可使用指令 pip show dmPython 查看dmPython版本,如下图

进入达梦数据库安装目录下的 dmPython 目录, pip install dmPython -timeout=1000

三、验证方式

#> python3 进入python环境

>>> import dmPython

>>> conn = dmPython.connect('SYSDBA', 'Dmsys_123', 'localhost:5236')

>>> dmPython.apilevel

执行命令 python setup.py install,安装成功后是如下效果图

四、编写测试程序,验证连接

  1. 编写程序

将如下代码拷贝生成一个python源码文件,如mytest.py(文件名可以随意改)。

coding:utf-8

import dmPython ##此处关键,引入程序包

try:

创建达梦数据库连接 对应的连接参数按实际情况调整

conn = dmPython.connect(user='sysdba', password='password', server='IP', port=5236)

创建数据库操作对象

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, '马云','888888888@qq.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 使用该指令安装对应模块

相关推荐
Wx-bishekaifayuan3 分钟前
springboot社区扶贫救助管理系统13300-计算机课程设计、毕业设计
spring boot·后端·python·django·课程设计·express·旅游
周杰伦fans9 分钟前
构建真正智能的CAD AI绘图代理
开发语言·人工智能·c#
小小张说故事31 分钟前
LightGBM 入门指南:更快的梯度提升树,Python 实战
后端·python·机器学习
Ticnix33 分钟前
RAG 检索不准,九成的锅不在向量——不同文件,就该有不同的入库方案
后端·python·agent
jerryinwuhan42 分钟前
python快速入门第二周
python
IT毕设梦工厂1 小时前
计算机毕业设计选题推荐:基于大数据的供应链数据分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hive·hadoop·python·数据分析·spark·课程设计
用户298698530141 小时前
Python 文档格式转换:Word 转 EPUB 实践
后端·python·api
Omics Pro1 小时前
Cell封面|衰老生物学开源AI工具包
数据库·人工智能·算法·机器学习·自然语言处理
IT毕设梦工厂1 小时前
计算机毕业设计选题推荐:基于大数据的二手车数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·数据挖掘·数据分析·课程设计·数据分析数据可视化
Python图像识别2 小时前
17-【2027毕设】YOLO11水稻病害检测识别系统 - Python完整源码+PyQt5界面+训练模型+数据集
python·深度学习·yolo·毕业设计·毕设