当前位置: 首页 > news >正文

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 使用该指令安装对应模块

http://www.cnnetsun.cn/news/2600212.html

相关文章:

  • 鸣潮智能助手:基于图像识别的全自动游戏自动化方案
  • 无DAC数字可重构智能表面架构:射频开关与传输线实现超低功耗高阶调制
  • 体验Taotoken旗舰模型首发更新第一时间用上最新最强模型
  • 神经形态硬件通信系统:从AER协议到路由架构的深度解析
  • 动态异构图神经网络硬件加速器COSH:FLAG模型如何消除跨快照冗余计算
  • 告别论文焦虑!9 款 AI 毕业论文工具测评
  • 软件实体的自动抽取与学术影响力方法【附程序】
  • Fluidd完整指南:10个技巧打造高效3D打印控制界面
  • 终极跨平台UI自动化方案:Midscene.js视觉AI驱动的创新实践
  • 如何修复损坏的视频文件:Untrunc的智能恢复方案
  • 规范井下作业秩序,无感定位优化矿山透明化空间管理,摒弃UWB老旧模式
  • 宇宙七级文明倒计时:人类从0.73到神级文明,每一步都是仰望
  • 【限时公开】ChatGPT时间管理黑箱操作手册:微软/谷歌资深PM都在用的4层任务过滤协议
  • 从零搭建AI商业引擎,ChatGPT画布9宫格全拆解,错过这版将淘汰下一代创业者
  • 从棋盘格到三维重建:OpenCV相机标定实战与参数解析
  • 基于 RV1126B 评估板的 GUI 应用开发实战(一)
  • GRID32.OCX文件丢失找不到问题解决
  • AI视频生成里的角色一致性问题:为什么同一个人会越生成越不像?
  • OPENCODE+spec-kit安装
  • Outfit字体:9种字重+可变字体,打造品牌视觉统一性的终极解决方案
  • 如何在Android设备上实现钉钉虚拟定位:XposedRimetHelper完全指南
  • AcWing 2189:有源汇上下界最大流 ← Dinic算法
  • 论文查重竟然能免费?书匠策AI这个功能太香了,毕业党必看!
  • 紫垣商驿三轴试验数据处理软件
  • Modelsim和Vivado仿真器下,Testbench文件编写有哪些“坑”?我总结了3个避雷点
  • 从零打造可落地的直流电机 PID 驱动系统 (十四):编码器测速原理与速度环阶跃响应实测
  • VCAM虚拟相机:安卓摄像头替换的终极解决方案深度解析
  • 基于簇稀疏贝叶斯学习的混合大规模MIMO信道估计技术解析
  • 通过AntiDupl实现智能图片去重的高效方案
  • 双GAN融合与最大值策略:提升广义零样本动作识别的多模态特征生成