python如何连接国产数据库(达梦DM)

背景

政策要求银行数据库逐步采用国产数据库替代,达梦DB作为国内市占较高的数据库厂商,其关系型数据库DMDB经常成为mysql的国产替代选择。因此基于mysql开发的python工程开发、调试、部署过程中都需要能正确连接它。

本文主要解决:Windows环境下Python如何连接达梦国产数据库。

流程

详细介绍

DMDB安装

​​​​​​​1、安装的磁盘内存空间需要大于1G;
2、安装前需要关闭防火墙,360等,不然可能无法开启实例服务,连接数据库报错;
3、请使用管理员身份运行压缩包中的setup.exe;
4、安装完成后,请检查实例服务是否启动。打开DM服务查看器,确认DmAPService已经启动;
5、查看环境变量DM_HOME设置是否正确。

 

官网下载地址(x86):

DM达梦8下载地址

具体步骤完全按照提示默认即可。过程参考:

安装官方文档

VS2019安装

vs2019安装包下载地址

安装编译工具 Microsoft Visual C++ Build Tools。下载可参考(直接安装上面软件再选择对应的编译工具下载自动安装即可,软件较大2.2G):

vs2019参考文档

dmPython安装

示例中DMDB在D盘DM文件夹下
1、在安装DMDB路径下的drivers目录下,找到 dmPython 的驱动源码;
2、打开cmd,进入dmPython。命令示例:cd D:\DM\drivers\python\dmPython;
3、安装运行命令:python setup.py install;
4、构建DPI环境。将D:\DM\drivers\dpi中所有文件复制粘贴到dmPython的安装路径,查询方式。

图中为:
C:\\Users\\admin\\AppData\\Local\\Programs\\Python\\Python38\\lib\\site-packages\\dmpython-2.4.5-py3.8-win-amd64.egg
特殊:
如果需要安装到虚拟环境,第二步后先打开虚拟环境(以env2023为例),再执行第三步
activate env2023
第四步完成后还需要重新设置虚拟环境
virtualenv --system-site-packages env2023

dmpython官方文档

虚拟环境安装参考文档

测试

​1、安装DM数据库配置助手,创建数据库;

2、Python测试代码

import pandas as pd
import dmPython
conn=dmPython.connect(user='自设',password='自设',server='LOCALHOST', port=5236)
df = pd.read_sql(sql, conn)

 

 

### 使用Python达梦数据库插入数据的方法 达梦数据库DM Database)是中国的一款国产数据库系统,支持多种编程语言的接口,包括Python。为了使用Python达梦数据库插入数据,通常需要安装达梦提供的驱动程序 `dm-python` 或者其他兼容的驱动程序,并通过标准的数据库连接流程完成数据插入操作。 以下是实现这一功能的具体方法和示例代码: #### 1. 安装达梦数据库驱动 在使用Python连接达梦数据库之前,需要确保已经安装了达梦官方提供的驱动程序。可以通过以下命令安装驱动: ```bash pip install dm-python ``` 如果遇到安装问题,可以参考达梦数据库的官方文档或下载对应平台的驱动包手动安装[^1]。 #### 2. Python连接达梦数据库并插入数据 以下是一个完整的Python代码示例,展示如何连接达梦数据库并将数据插入到指定表中: ```python import dmPython def insert_data_to_dameng(key, value): try: # 连接达梦数据库 conn = dmPython.connect( user='your_username', # 数据库用户名 password='your_password', # 数据库密码 server='localhost', # 数据库服务器地址 port=5236 # 达梦数据库默认端口 ) print("数据库连接成功") # 创建游标对象 cursor = conn.cursor() # 插入数据的SQL语句 sql = "INSERT INTO kv (mykey, myvalue) VALUES (%s, %s)" cursor.execute(sql, (key, value)) # 提交事务 conn.commit() print(f"数据库插入成功: {key, value}") except dmPython.Error as e: print(f"数据库操作失败: {e}") finally: # 关闭游标和连接 if cursor: cursor.close() if conn: conn.close() ``` #### 3. 注意事项 - 确保达梦数据库服务已启动,并且可以从当前机器访问。 - 替换代码中的 `your_username` 和 `your_password` 为实际的数据库用户名和密码。 - 如果数据库位于远程服务器上,请将 `server` 参数设置为正确的IP地址或域名。 - 默认情况下,达梦数据库的端口号为 `5236`,但如果配置了其他端口,请根据实际情况修改。 #### 4. 示例运行 假设需要向表 `kv` 中插入键值对 `(1, 'test')`,可以调用上述函数如下: ```python insert_data_to_dameng(1, 'test') ``` --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值