为了账号安全,请及时绑定邮箱和手机立即绑定

Python 连接 Oracle数据库

标签:
Python


1.环境设置

[root@oracle ~]# cat /etc/redhat-release 

CentOS release 6.9 (Final)

[root@oracle ~]# python -V

Python 2.6.6

版本:Oracle 12c


2.前提:安装cx_Oracle模块依赖包

由于使用Python连接Oracle,所以需要下载oracle客户端包

官网:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html?ssSourceSiteId=otncn

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

oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm

1[root@oracle ~]# rpm - ivh oracle-instantclient12.1-*


3.设置环境变量

[root@oracle ~]# cat ~/.bash_profile 

12export /usr/lib/oracle/12.1/client64/export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib


4.安装cx_Oracle模块

官网:https://pypi.python.org/pypi/cx_Oracle

cx_Oracle-6.2.1.tar.gz 

12[root@oracle ~]# tar -zxvf cx_Oracle-6.2.1.tar.gz [root@oracle cx_Oracle-6.2.1]# python setup.py install

可能会遇到报错

error: command 'gcc' failed with exit status 1

解决方法:

yum install python-devel

yum install libevent-devel


5.查看是否可以导入cx_Oracle模块

[root@oracle ~]# python

Python 2.6.6 (r266:84292, Aug 18 2016, 15:13:37) 

[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import cx_Oracle

>>>  #无报错说明成功


6.编写Python连接oracle数据库脚本(oracle用户,因为我这里都是用oracle用户权限安装的)

[oracle@oracle ~]$ cat py_oracle.py 


#!/usr/bin/env python#-*- coding: UTF-8 -*-import cx_Oracle  #导入模块db=cx_Oracle.connect('system/oracle@localhost:1521/ORCL')  #连接user/passwd@host:端口/instancecursor = db.cursor() #创建游标对象cursor.execute('select sysdate from dual')  #执行命令data = cursor.fetchone() #返回值print('Database time:%s' % data)  打印输出cursor.close()  #关闭游标对象db.close()  #关闭数据库


7.执行脚本

[oracle@oracle ~]$ python py_oracle.py 

1Database time:2018-03-20 20:47:59


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消