Python连接DM8数据库
1. 測試環境
在Window中使用Python 2.7.5版本以及DM8數據庫進行增刪改查,以下是踩坑筆記。
| DM 數據庫 | DM 8.0 及以上版本 |
| Python | Python 2.7.5 |
| Window10專業版 | Window10專業版 |
注意:實施過程中遇到報錯一定要看Q&A中有沒有你的問題的解決方案。
2. 步驟
2.1 安裝Python
用戶請自行下載安裝 Python。安裝的 Python 2.7.5 版本
2.2 初始化dmPython
進入到dmPython中 編譯,執行以下命令
python setup.py install如圖所示即為安裝成功。
如果出現如下提示error: Microsoft Visual C++ 9.0 is required.請參考【Q&A】中的解決方案
2.3 驗證dmPython
如果出現如下則說明安裝成功
2.5 測試是否連接成功
# !/usr/bin/python # coding:utf-8 import dmPythontry:conn = dmPython.connect(user='SYSDBA', password='SYSDBA', server='localhost', port=5236)cursor = conn.cursor()print('python: conn success!')conn.close() except (dmPython.Error, Exception) as err:print(err)如果所示,即為成功。
如是下圖:
如果提示ImportError: DLL load failed: 找不到指定的模塊。請到【Q&A】中查看
2.6 增刪改查
#!/usr/bin/python # coding:utf-8 import dmPythontry:conn = dmPython.connect(user='SYSDBA', password='SYSDBA', server='localhost', port=5236)cursor = conn.cursor()try:# 清空表,初始化測試環境cursor.execute('delete from PRODUCTION.PRODUCT_CATEGORY')except (dmPython.Error, Exception) as err:print(err)try:# 插入數據cursor.execute("insert into PRODUCTION.PRODUCT_CATEGORY(NAME) values('1'), ('2'), ('3'), ('4')")print('python: insert success!')# 刪除數據cursor.execute("delete from PRODUCTION.PRODUCT_CATEGORY where name='1'")print('python: delete success!')# 更新數據cursor.execute('update PRODUCTION.PRODUCT_CATEGORY set name = \'222\' where name=\'2\'')print('python: update success!')# 查詢數據cursor.execute("select name from PRODUCTION.PRODUCT_CATEGORY")res = cursor.fetchall()for tmp in res:for c1 in tmp:print c1print('python: select success!')except (dmPython.Error, Exception) as err1:print (err1)conn.close() except (dmPython.Error, Exception) as err:print(err)Q&A
1. pip安裝三方庫不成功
提示:WARNING: You are using pip version 20.2.3, however version 20.2.4 is available.
原因:pip版本過低導致安裝第三方庫失敗
## 直接輸入下面命令解決 python -m pip install --upgrade pip2. error: Microsoft Visual C++ 9.0 is required
原因:包編譯的時候缺少C++的編譯環境,所以只需要安裝即可,安裝網盤鏈接中VCForPython27.msi文件。下載完成后雙擊安裝
3. 控制臺亂碼
修改Pycharm的編碼,window默認是gbk。
解決方案
4.ImportError: DLL load failed: 找不到指定的模塊
調用達夢數據庫時需要調用DM數據庫的一些DLL文件,因為找不到所以報錯了。
解決方案
在項目啟動時,在Environment variables中配置環境變量
注意:D:\damba\dm8是我本地dm的安裝路徑,需要替換成自己的。
PYTHONUNBUFFERED=1;PATH=PATH=D:\damba\dm8\drivers\\;D:\damba\dm8\drivers\logmnr\\;D:\damba\dm8\bin資料
鏈接:https://pan.baidu.com/s/1Xv8xmy83VbA42FVk7_NtPA 提取碼:b2u8
=======================================
有任何問題請到技術社區反饋。
24小時免費服務熱線:400 991 6599
達夢技術社區:https://eco.dameng.com
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Python连接DM8数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: window部署DM8的DEM系统
- 下一篇: websocket python爬虫_p