Python3.6連接Oracle數(shù)據(jù)庫的方法詳解
本文實例講述了Python3.6連接Oracle數(shù)據(jù)庫的方法。分享給大家供大家參考,具體如下:
下載cx_Oracle模塊模塊:
https://pypi.python.org/pypi/cx_Oracle/5.2.1#downloads
這里下載的是源碼進行安裝
[root@oracle oracle]# tar xf cx_Oracle-5.2.1.tar.gz [root@oracle oracle]# cd cx_Oracle-5.2.1 [root@oracle cx_Oracle-5.2.1]# python setup.py build Traceback (most recent call last): File "setup.py", line 170, in <module> raise DistutilsSetupError("cannot locate an Oracle software " \ distutils.errors.DistutilsSetupError: cannot locate an Oracle software installation
報錯解決辦法:在root用戶的.bash_profile文件中添加oracle_home的環(huán)境變量
export ORACLE_HOME=/u01/app/product/11.2.0/dbhome_1 PATH=${ORACLE_HOME}/bin:$PATH:$HOME/bin [root@oracle cx_Oracle-5.2.1]# source /root/.bash_profile [root@oracle cx_Oracle-5.2.1]# echo ${ORACLE_HOME} /u01/app/product/11.2.0/dbhome_1
然后繼續(xù)build:
[root@oracle cx_Oracle-5.2.1]# python setup.py build running build running build_ext
后面輸出信息省略
[root@oracle cx_Oracle-5.2.1]# python setup.py install running install running bdist_egg
后面輸出信息省略
按照完成之后,進行驗證模塊:
>>> import cx_Oracle Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: libclntsh.so.11.1: cannot open shared object file: No such file or directory
解決辦法:在root用戶的.bash_profile文件中添加LD_LIBRARY_PATH的環(huán)境變量
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib export LD_LIBRARY_PATH
[root@oracle cx_Oracle-5.2.1]# source /root/.bash_profile [root@oracle cx_Oracle-5.2.1]# python
Python 3.6.1 (default, Jul 13 2017, 14:31:18) [GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import cx_Oracle
#!/usr/bin/python #coding=utf8 # import module import cx_Oracle as oracle # connect oracle database db = oracle.connect('scott/redhat@192.168.223.138:1521/oracle.test') # create cursor cursor = db.cursor() # execute sql cursor.execute('select sysdate from dual') # fetch data data = cursor.fetchone() print('Database time:%s' % data) # close cursor and oracle cursor.close() db.close()
[oracle@oracle scripts]$ python connectoracle.py Database time:2017-08-04 10:20:39
#!/usr/bin/python #coding=utf8 import cx_Oracle as oracle def oraclesql(cursor): fp = open(r'/home/oracle/scripts/tablespace.sql') fp_sql = fp.read() cursor.execute(fp_sql) data = cursor.fetchall() return data if __name__ == '__main__': ipaddr = "192.168.223.138" username = "system" password = "redhat" oracle_port = "1521" oracle_service = "oracle.test" try: db = oracle.connect(username+"/"+password+"@"+ipaddr+":"+oracle_port+"/"+oracle_service) # 將異常捕捉,然后e就是拋異常的具體內(nèi)容 except Exception as e: print(e) else: cursor = db.cursor() data = oraclesql(cursor) for i in data: print(i) cursor.close() db.close()
更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python常見數(shù)據(jù)庫操作技巧匯總》、《Python編碼操作技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設(shè)計有所幫助。
相關(guān)文章
Python 余弦相似度與皮爾遜相關(guān)系數(shù) 計算實例
今天小編就為大家分享一篇Python 余弦相似度與皮爾遜相關(guān)系數(shù) 計算實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python命令行參數(shù)解析模塊getopt使用實例
這篇文章主要介紹了Python命令行參數(shù)解析模塊getopt使用實例,本文講解了使用語法格式、短選項參數(shù)實例、長選項參數(shù)實例等內(nèi)容,需要的朋友可以參考下2015-04-04

pyppeteer執(zhí)行js繞過webdriver監(jiān)測方法上