python达梦数据库_Python 编程可以访问达梦数据吗?
可以,但官方只給了python2.7版本的包,python3目前無法使用,此外達(dá)夢(mèng)自己的linux客戶端只支持redhat或者centos。請(qǐng)首先在系統(tǒng)安裝達(dá)夢(mèng)客戶端,下載地址如下:
具體流程如下:
Linux下DM7與Python的適配方法
1.概述
dmPython是DM提供的依據(jù)Python DB API version 2.0中API使用規(guī)定而開發(fā)的數(shù)據(jù)庫訪問接口。dmPython 實(shí)現(xiàn)這些API,使Python應(yīng)用程序能夠?qū)M數(shù)據(jù)庫進(jìn)行訪問。
dmPytho通過調(diào)用DM DPI接口完成python模塊擴(kuò)展。在其使用過程中,除Python標(biāo)準(zhǔn)庫以外,還需要DPI的運(yùn)行環(huán)境。
本文就將給大家介紹如何在Linux下使用dmPython接口來讓Dm7適配python。
注:本文演示環(huán)境:
數(shù)據(jù)庫版本:DM Database Server x64V7.1.6.46-Build(2018.02.08-89107)ENT
操作系統(tǒng)版本:Red Hat Enterprise LinuxServer release 6.5
內(nèi)核版本:2.6.32-431.el6.x86_64
2.安裝python
2.1、安裝Python
解壓后做以下操作:
(1)./configure --prefix=/usr/lib/python2.7(這里填寫自己的安裝目錄)。
(2)執(zhí)行make命令操作 對(duì)源碼進(jìn)行編譯。
(3)執(zhí)行make install 進(jìn)行安裝。
如果沒有報(bào)錯(cuò),則代表 python2.7已經(jīng)成功安裝。
2.2、修改服務(wù)器默認(rèn)Python版本
在終端輸入python命令,會(huì)發(fā)現(xiàn)系統(tǒng)原有版本為2.6.6,并沒有使用我們部署的2.7版本。
可以使用which python命令查看該python命令調(diào)用的是那個(gè)位置的python,一般情況下是在/usr/bin/python。
但是,這里的python指向的是系統(tǒng)自帶的2.6版本,而我們安裝的python2.7的命令在/usr/lib/python2.7/bin(前邊的路徑要根據(jù)你的安裝路徑確定)。我們只需把/usr/bin/python 刪除掉:
rm /usr/bin/python
然后做個(gè)軟連接
ln -s /usr/lib/python2.7/bin/python /usr/bin/python
再次在終端輸入python命令,已經(jīng)為2.7版本。
3.安裝dmPython
3.1、rpm方式安裝dmPython
dmPython可以運(yùn)行在任何安裝了python的平臺(tái)上??梢允褂冒惭b包進(jìn)行安裝,需要保證dpi和dmPython版本一致,都是32位或都是64位,另外選擇的RPM包的版本也要跟Python版本一致。(py27對(duì)應(yīng)2.7版本的python,py33對(duì)應(yīng)3.3版本的python)
在linux平臺(tái)成功部署DM7客戶端后,在dmdbms/python目錄下存在安裝dmPython的rpm安裝包dmPython-2.3-7.1-py27-1.x86_64.rpm
在 Linux 操作系統(tǒng)下使用 rpm 包安裝 dmPython。安裝和卸載命令參考如下:
安裝: rpm -ivh dmPython-2.3-7.1-py27-1.x86_64.rpm --nodeps
卸載: rpm -e dmPython-2.3-1.x86_64
注意,使用rpm包安裝之后,需要檢測(cè)下python安裝目錄下lib/python2.7/site-packages/內(nèi)有無dmPython.so文件,如果沒有,則需要手動(dòng)把/usr/local/lib/python2.7/site-packages下的dmPython.so文件拷貝到Python安裝目錄下的對(duì)應(yīng)位置。
3.2、源碼方式安裝dmPython
另外,也可以使用源碼包進(jìn)行安裝,源碼包下載地址,操作如下:
方式一:如果已經(jīng)部署DM7客戶端,則進(jìn)行如下操作:
1、解壓dmPython.zip
unzip dmPython.zip
2、運(yùn)行下面的命令:
cd dmPython
python setup.py install
方式二:如果沒有部署DM7客戶端,則進(jìn)行如下操作:
1、解壓dmPython.zip
unzip dmPython.zip
2、運(yùn)行下面的命令:
cd dmPython
3、設(shè)置DM_HOME環(huán)境變量為某個(gè)目錄,假定為/opt/app/dmdbms
export DM_HOME=/opt/app/dmdbms
4、將其他服務(wù)器上部署的DM7客戶端的動(dòng)態(tài)庫拷貝(從其他安裝過DM7的相同操作系統(tǒng)的機(jī)器上拷貝)到$DM_HOME目錄
scp -r dmdba@IP:/opt/app/dmdbms/bin/opt/app/dmdbms/
5、將其他服務(wù)器上部署的DM7客戶端的include目錄拷貝到$DM_HOME目錄下
scp -r dmdba@IP:/opt/app/dmdbms/include/opt/app/dmdbms/
6、設(shè)置環(huán)境變量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/app/dmdbms/bin
7. 運(yùn)行下面的命令
python setup.py install
4.配置環(huán)境變量
dmPython 的運(yùn)行需要使用 dpi 動(dòng)態(tài)庫,用戶應(yīng)將 dpi 所在目錄(一般為 DM 安裝目錄中的 bin 目錄)加入系統(tǒng)環(huán)境變量,將dmdbms\bin目錄添加到系統(tǒng)的環(huán)境變量中,如下:
export PATH=$PATH:/opt/app/dmdbms/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/app/dmdbms/bin
5.連接DM7
$python
>>> import dmPython
>>>conn=dmPython.connect(user='SYSDBA',password='SYSDBA',server= 'LOCALHOST',port=5236)
6.查詢測(cè)試
>>> cursor = conn.cursor()
>>> cursor.execute('select 1 from dual')
>
>>> values = cursor.fetchall()
>>> values
[('1',)]
7.關(guān)閉連接和游標(biāo)
>>> cursor.close()
>>> conn.close()
參考資料:
總結(jié)
以上是生活随笔為你收集整理的python达梦数据库_Python 编程可以访问达梦数据吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 加载elementor时出现问题_不锈钢
- 下一篇: 兄弟机cnc系统面板图解_FANUC软操