成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ubuntu下python通過(guò)sqlalchemy庫(kù)訪問(wèn)oracle數(shù)據(jù)庫(kù)

CoorChice / 785人閱讀

摘要:并不是數(shù)據(jù)庫(kù)驅(qū)動(dòng),訪問(wèn)數(shù)據(jù)的驅(qū)動(dòng)是,但是這個(gè)驅(qū)動(dòng)依賴于。所以如果想通過(guò)庫(kù)訪問(wèn)數(shù)據(jù)庫(kù),那么需要先安裝再安裝最后安裝。安裝包的作用是在指定目錄下存放頭文件這些東西,如果安裝不了,可以自己解壓執(zhí)行。

sqlalchemy并不是數(shù)據(jù)庫(kù)驅(qū)動(dòng),python訪問(wèn)oracle數(shù)據(jù)的驅(qū)動(dòng)是cx_Oracle,但是這個(gè)驅(qū)動(dòng)依賴于Oracle instant client。所以python如果想通過(guò)sqlalchemy庫(kù)訪問(wèn)oracle數(shù)據(jù)庫(kù),那么需要先安裝Oracle instant client、再安裝cx_Oracle、最后安裝sqlalchemy。
搞了一圈下來(lái),發(fā)現(xiàn)這個(gè)過(guò)程比較繁瑣,現(xiàn)在的資料有些老舊,寫篇文檔和大家分享下。

安裝Oracle instant client 去Oracle官網(wǎng)下載安裝包

http://www.oracle.com/technet...
我看的時(shí)候已經(jīng)是版本 12.1.0.2.0 ,同一個(gè)版本下有很多包,支持cx_Oracle需要下載下面兩個(gè)包
oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
簡(jiǎn)稱basic、devel包
basic包含有所有的oracle client lib/bin 文件
devel包含了oracle client 外部接口的頭文件

安裝

Oracle官方只提供了RPM包,我的操作系統(tǒng)是ubuntu,需要安裝一個(gè)alien進(jìn)行轉(zhuǎn)換。
sudo install alien 就可以完成安裝

用alien 將 RPM包轉(zhuǎn)換成DEB包,

   sudo alien -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm 
   sudo alien -i oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm 

然后安裝deb包

   sudo dpkg -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.deb
   sudo dpkg -i oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.deb

basic包安裝成功后,在/usr/lib/oracle/12.1/client64/目錄拷貝了lib、bin庫(kù),devel包安裝后會(huì)/usr/lib/oracle/12.1/client64/目錄下拷貝include頭文件。
但是,我在用alien轉(zhuǎn)devel RPM包時(shí)失敗了,后來(lái)我就把RPM包解壓,發(fā)現(xiàn)devel RPM包里面就是一些include文件,把這些文件拷貝到/usr/lib/oracle/12.1/client64/include目錄,也能正常工作。

安裝包的作用是在指定目錄下存放bin、lib、include頭文件這些東西,如果安裝不了,可以自己解壓執(zhí)行。
設(shè)置環(huán)境變量

設(shè)置環(huán)境變量的目的是為了讓其它程序能找到安裝的Oracle庫(kù)

   $ export ORACLE_HOME=/usr/lib/oracle/11.2/client64 
   $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib
鏈接oracle庫(kù)到系統(tǒng)目錄

在 /etc/ld.so.conf.d 目錄下創(chuàng)建 oracle.conf文件,在文件里面指定oracle庫(kù)的路徑/usr/lib/oracle/11.2/client64/lib
執(zhí)行鏈接配置

   $ sudo ldconfig
安裝cx_Oracle

安裝libaio包,libaio是Linux下的一個(gè)異步非阻塞接口,它提供了以異步非阻塞方式來(lái)讀寫文件的方式,讀寫效率比較高,oracle SQLPlus庫(kù)依賴它。

   sudo apt-get install libaio1

所有準(zhǔn)備工作完成后,執(zhí)行包安裝命令就可以成功安裝cx_Oracle了

   sudo apt-get install cx_Oracle

如果前期的準(zhǔn)備工作沒(méi)做好,會(huì)報(bào)各種安裝失敗,大家可以對(duì)照安裝步驟,比對(duì)前面的操作是否正確。

安裝sqlalchemy

最后使用 sudo apt-get install sqlalchemy 就可以完成安裝了

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/38046.html

相關(guān)文章

  • Python-解決Cx_Oracle查詢時(shí)UnicodeDecodeError的問(wèn)題

    摘要:我們需要注意的是只有在數(shù)據(jù)庫(kù)服務(wù)器端與客戶端的編碼一致的情況下我們才能正常的顯示非編碼而在中默認(rèn)會(huì)將查詢的字符串強(qiáng)制將其轉(zhuǎn)換為。而正常的情況應(yīng)該指定其編碼為中國(guó)而設(shè)定就是相當(dāng)于修改上述的編碼為。 近期在項(xiàng)目中,要對(duì)1張100多萬(wàn)條記錄的表進(jìn)行查詢,然后進(jìn)行一些數(shù)據(jù)的統(tǒng)計(jì),但是在這個(gè)過(guò)程中,發(fā)現(xiàn)只查詢出來(lái)幾條數(shù)據(jù)就出現(xiàn)了UnicodeDecodeError了。 在這里,我們使用sqla...

    Lsnsh 評(píng)論0 收藏0
  • 基于 oracle 的 flask 項(xiàng)目(一)——配置項(xiàng)目

    摘要:一般印象,項(xiàng)目適合做一些短小精悍的項(xiàng)目,特別是與等數(shù)據(jù)庫(kù)結(jié)合很是般配。生成報(bào)表,不同的查詢結(jié)果生成不同的報(bào)表。配置從下載客戶端,然后解壓后放入自己指定的目錄。指定數(shù)據(jù)庫(kù)連接池的超時(shí)時(shí)間。 一般印象,flask 項(xiàng)目適合做一些短小精悍的項(xiàng)目,特別是與 sqlite、mysql 等數(shù)據(jù)庫(kù)結(jié)合很是般配。但是在一些大公司,特別是一些金融行業(yè)等國(guó)企公司,還是以 oracle 居多,那么,這個(gè)小辣...

    xialong 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<