环境准备
名称 | 版本 |
DM 数据库 | DM 8.0及以上版本 |
Python | 3.6.8 |
dmPython | 2.5 |
安装参考:
Python安装注意版本推荐用3.6.8, 安装3.12版本的python有出现以下问题,需要注意。
问题1.ModuleNotFoundError: No module named 'distutils'
解决办法:安装setuptools工具后未再报该错误
执行: pip install setuptools
问题2.FileNotFoundError
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\zrb\\AppData\\Local\\Microsoft\\WindowsApps\\PythonSoftwareFoundation.Python.3.12_qbz5n2kfra8p0\\Lib\\site-packages\\dpi.py'
尝试修改环境变量PATH,指向安装目录,无法解决该问题;查找dpi.py文件,未有相关文件;卸载3.12版本的python,重装3.6.8版本,问题解决。
连接达梦数据库
达梦数据库是一个功能丰富的关系型数据库管理系统,用于大型应用程序和企业级项目。要连接达梦数据库,首先确保已经安装了达梦dmPython(达梦数据库访问接口),然后执行以下步骤:
建立连接
使用dmPython.connect函数建立到达梦数据库的连接,提供主机名、用户名、密码和数据库服务器IP或名称。如果你已经安装了达梦数据库,那么还需要确保你已经安装了DMPython库。使用以下命令完成安装:
python setup.py install
未安装连接会报错,ModuleNotFoundError: No module named ‘dmPython‘。然后,你可以使用以下示例代码来连接到达梦数据库并执行查询:
conn = dmPython.connect(user='SYSDBA', password='SYSDBA', server='localhost', port=5236)
备注: 用户 :SYSDBA 密码:SYSDBA 服务器主机名:localhost 端口:5236
将上面的账号密码和你自己的一一对应,登录验证数据库的连接:达梦数据库中,你可以使用以下SQL查询验证数据库是否正常使用中:
创建游标
创建一个游标对象,用于执行SQL查询。
cursor = conn.cursor()
执行SQL
使用游标对象执行SQL查询,例如创建表或插入数据。
# 创建表
cursor.execute('''CREATE TABLE IF NOT EXISTS data (id INTEGER PRIMARY KEY, value VARCHAR)''')
#插入数据
cursor.execute ("INSERT INTO data (id, value) values('1', 'test1')")
print('python: insert success!')
#删除数据
cursor.execute ("delete from data where id='1'")
print('python: delete success!')
#更新数据
cursor.execute ("update data set value= 'test2' where id=1'')
print('python: update success!')
提交更改
如果你进行了插入、更新或删除等更改操作,使用conn.commit()来提交更改。
然后,你可以使用以下示例代码来连接到达梦数据库并执行查询:
#!/usr/bin/python
#coding:utf-8
import dmPython
conn = dmPython.connect(user='SYSDBA', password='SYSDBA', server='localhost', port=5236, autoCommit=True)
cursor = conn.cursor()
#清空表,初始化测试环境
cursor.execute ('delete from data')
conn.commit()
print('python: 清空 success!')
#插入数据
cursor.execute ("INSERT INTO data (id, value) values('1', 'test1')")
conn.commit()
cursor.execute ("INSERT INTO data (id, value) values('2', 'test1')")
conn.commit()
print('python: insert success!')
#更新数据
cursor.execute ("update data set value= 'test2'")
conn.commit()
print('python: update success!')
#删除数据
cursor.execute ("delete from data where id=2")
conn.commit()
print('python: delete success!')
#查询数据
cursor.execute ("select * from data")
res = cursor.fetchall()
for tmp in res:
for c1 in tmp:
print(c1)
print('python: select success!')
conn.close()
在上述示例中,你需要替换以下内容:
这个示例连接到数据库,执行一些基础的DML操作,然后打印查询结果。你可以根据你的实际需求更改查询语句和处理查询结果的方式。确保在使用时提供正确的数据库连接参数。如下所示。
username:你的达梦用户名。比如用例中使用SYSDBA用户
password:你的密码。
SERVER:你要连接的数据库。比如我是loalhost,也可配置为服务器IP,如192.168.1.1
关闭连接
最后,使用conn.close()关闭数据库连接。
这些步骤可以帮助大家开始在Python中连接和操作SQL数据库。可根据项目的需求和实际情况进行修改和扩展。连接数据库是许多应用程序的关键组成部分,希望这个博客能帮助部分人入门并开始使用达梦数据库。