专栏首页python3Python 连接 Oracle数据库

Python 连接 Oracle数据库

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

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

3.设置环境变量

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

export /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 

[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:端口/instance
cursor = 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 

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 教你写出可读性高的Python代码

    来源:https://learnku.com/docs/python-guide/2018/writing-style/3261

    Python编程与实战
  • 【漏洞实战】Apache Shiro反序列化远程代码执行复现及“批量杀鸡”

    利用vmware workstation,安装一个操作系统,执行以下指令,更换系统源,并且安装docker

    用户1631416
  • Python数据库测试实战指南

    我们在细化成具体的就是,我们需要验证表结构、字段、长度、主键、索引、unique等等属性。

    苦叶子
  • Juicer软件的安装详解

    软件安装是生物信息实战中最基础的技能之一,只有确保软件安装无误,后续使用起来才会得心应手,不会有很多的bug。juicer软件提供了Hi-C数据一键化分析的pi...

    生信修炼手册
  • 数据处理是万事之基——python对各类数据处理案例分享(献给初学者)

    Pandas是python中一个强大的数据分析和处理模块工具,通过此模块能快速、灵活的处理数据,为复杂的数据分析提供基础分析功能。对数据库或Excel表,如包含...

    机器思维研究院
  • PHP 到底是不是宇宙第一?TIOBE 排行榜来证明!

    做为一名程序员,都比较关注其使用编程语言的热度,一方面编程语言的热度决定了它拥有多大的市场,另一方面也关系到行业内程序员选择机会有多大。

    用户6543014
  • Django容器(上): 自定义基础镜像

    某个 Python 项目,基于 Python:3.6 与 Django:1.11 框架开发,希望项目能够容器化,然后可以通过 docker-compose 等工...

    用户1560186
  • GitHub 长期被中国人“霸榜”?看完榜单我呆了...

    作为「技术行业观察者」的我,平时经常会逛 GitHub 找选题,最近我又在上面发现了很多宝藏...或者叫大宝箱...

    Rocky0429
  • 使用 uWSGI + Nginx 部署 Flask 应用

    在这篇文章之前,所有的应用都是在命令行使用 Python 直接运行的,但是这种方式只适合在开发过程中使用,并不适合在生产环境中使用,在生产环境中可以使用 uWS...

    keinYe
  • narrow,broad, gapped peak:三种格式之间的区别与联系

    peak被定义为基因组上一段reads富集的区域,核心信息是在染色体上的起始和终止位置,除此之外,还有软件对于该peak区域的打分,比如常见的pvalue, q...

    生信修炼手册

扫码关注云+社区

领取腾讯云代金券