python连接oracle数据库的方法_Python3.6连接Oracle数据库的方法详解
本文實例講述了Python3.6連接Oracle數據庫的方法。分享給大家供大家參考,具體如下:
下載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
raise DistutilsSetupError("cannot locate an Oracle software " \
distutils.errors.DistutilsSetupError: cannot locate an Oracle software installation
報錯解決辦法:在root用戶的.bash_profile文件中添加oracle_home的環境變量
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
然后繼續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 "", line 1, in
ImportError: libclntsh.so.11.1: cannot open shared object file: No such file or directory
解決辦法:在root用戶的.bash_profile文件中添加LD_LIBRARY_PATH的環境變量
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就是拋異常的具體內容
except Exception as e:
print(e)
else:
cursor = db.cursor()
data = oraclesql(cursor)
for i in data:
print(i)
cursor.close()
db.close()
更多關于Python相關內容感興趣的讀者可查看本站專題:《Python常見數據庫操作技巧匯總》、《Python編碼操作技巧總結》、《Python數據結構與算法教程》、《Python Socket編程技巧總結》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》
希望本文所述對大家Python程序設計有所幫助。
本文標題: Python3.6連接Oracle數據庫的方法詳解
本文地址: http://www.cppcns.com/shujuku/oracle/228536.html
總結
以上是生活随笔為你收集整理的python连接oracle数据库的方法_Python3.6连接Oracle数据库的方法详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 海南工会云会员认证_五一有奖答题来了,欢
- 下一篇: python列表解析式如何使用_pyth