大学的网站设计,阳江人才招聘网官网,网站功能简介,陈木胜怎么死的Python3.6连接Oracle数据库的方法详解
本文实例讲述了Python3.6连接Oracle数据库的方法。分享给大家供大家参考#xff0c;具体如下#xff1a;
下载cx_Oracle模块模块#xff1a;
https://pypi.python.org/pypi/cx_Oracle/5.2.1#downloads
这里下载的是源码进行安装
[rooto…Python3.6连接Oracle数据库的方法详解
本文实例讲述了Python3.6连接Oracle数据库的方法。分享给大家供大家参考具体如下
下载cx_Oracle模块模块
https://pypi.python.org/pypi/cx_Oracle/5.2.1#downloads
这里下载的是源码进行安装
[rootoracle oracle]# tar xf cx_Oracle-5.2.1.tar.gz
[rootoracle oracle]# cd cx_Oracle-5.2.1
[rootoracle 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
[rootoracle cx_Oracle-5.2.1]# source /root/.bash_profile
[rootoracle cx_Oracle-5.2.1]# echo ${ORACLE_HOME}
/u01/app/product/11.2.0/dbhome_1
然后继续build
[rootoracle cx_Oracle-5.2.1]# python setup.py build
running build
running build_ext
后面输出信息省略
[rootoracle 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
[rootoracle cx_Oracle-5.2.1]# source /root/.bash_profile
[rootoracle 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
#codingutf8
# import module
import cx_Oracle as oracle
# connect oracle database
db oracle.connect(scott/redhat192.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()
[oracleoracle scripts]$ python connectoracle.py
Database time:2017-08-04 10:20:39
#!/usr/bin/python
#codingutf8
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/passwordipaddr: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程序设计有所帮助。
以上就是本次给大家分享的关于java的全部知识点内容总结大家还可以在下方相关文章里找到相关文章进一步学习感谢大家的阅读和支持。