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

1
2
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

1
2
[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

1
2
3
4
5
6
7
8
9
10
#!/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

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

Python 连接 Oracle数据库的更多相关文章

  1. Python 连接Oracle数据库

    连接:python操作oracle数据库  python——连接Oracle数据库 python模块:cx_Oracle, DBUtil 大概步骤: 1. 下载模块 cx_Oracle (注意版本) ...

  2. 【python】python连接Oracle数据库

    python连接Oracle数据库 查看Oracle版本 select * from v$version 下载对应版本的InstantClient 下载网址 InstantClient 1.解压Ins ...

  3. python——连接Oracle数据库

    前言 Python自带的模块中有很多操纵文件的.我们可以把文件的数据读出来,经过处理还可以将数据写入文件中.但是对于数据的管理和分析来说,数据库还是专业一些.如果Python能和数据库结合在一起,那么 ...

  4. Python连接oracle数据库 例子一

    step1:下载cx_Oracle模块,cmd--pip install cx_Oracle step2: 1 import cx_Oracle #引用模块cx_Oracle 2 conn=cx_Or ...

  5. python连接oracle数据库报错"DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "解决方案

    操作系统,python3.5, oracle_11, 均为64位:plsql 正常连接. 也顺利安装了cx_oracle 6.3,但是python进行连接的时候就会报错"DatabaseEr ...

  6. python 连接oracle 数据库

    我们在测试中可能需要对oracle 数据库进行操纵,比如这样一个场景,在往oracle 里面插数据的同时,另一个工具从里面读,如何能保证读出来的数据是有顺序的,即:先插入进去的先读出来,根据这个场景们 ...

  7. windows下python连接oracle数据库

    1.首先安装cx_Oracle包2.解压instantclient-basic-windows.x64-11.2.0.4.0.zip到c:\oracle3.拷贝instantclient_11_2下所 ...

  8. python 连接oracle数据库:cx_Oracle

    注意:64位操作系统必须安装64位oracle客户端,否则会连接报错 安装第三方库:cx_Oracle 一.连接数据库的三种方式: 1.cx_Oracle.connect('账号/密码@ip:端口/数 ...

  9. Python连接Oracle数据库

    今天使用Python连接数据库,连接没有问题,就是中文显示乱码,网上找了很多解决方案, 最后选择使用这个 #!/usr/bin/env python # -*- coding:utf-8 -*- #A ...

随机推荐

  1. PHP——内测:新闻管理练习题及答案(自己做的)

    试题看文件:1.28练习内测:新闻管理.pdf 数据库为newssystem 表为news 表内容为 fabuxinwen.php <!DOCTYPE html PUBLIC "-// ...

  2. SSIS 自测题-控制流控件类

    说明:以下是自己的理解答案,不是标准的答案,如有不妥烦请指出.         有些题目暂时没有答案,有知道的请留言,互相学习,一起进步. 62.描述一下 Execute SQL Task 的作用,在 ...

  3. 关于如何自定义handler

    1.在web.config 中的webserver 下添加 <handlers> <add verb="*" path="*.html" ty ...

  4. 数据库 数据库SQL语句四

    多表查询 等值连接 --查询员工信息,员工号,姓名,月薪,部门名称 select e.empno,e.ename,d.dname from emp e,dept d where e.deptno=d. ...

  5. MyBatis-Spring-Boot 使用总结

    接 MyBatis-Spring 使用总结 .   mybatis开发团队为Spring Boot 提供了 MyBatis-Spring-Boot-Starter . 首先,MyBatis-Sprin ...

  6. 【noip模拟题】日历游戏(博弈论+搜索)

    直接搜索即可... 注意不要爆栈..所以我们可以分块搜索... 然后太懒且太弱我就不写了... orz hzwer http://hzwer.com/4954.html [问题描述] moreD和mo ...

  7. ERROR: openstack Error finding address for http://10.16.37.215:9292/v1/images: [Errno 32] Broken pipe

    Try to set: no_proxy=10.16.37.215 this should help 转自: http://askubuntu.com/questions/575938/error-i ...

  8. Unity3D 物体移动方式总结(转)

    1. 简介 在unity3d中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position. 2. 通过Transform组件移动物体 Transform 组件用于描述物体在 ...

  9. WPF 渲染级别 (Tier)

    在WPF中,显卡的功能相差很大.当WPF评估显卡时,它会考虑许多因素,包括显卡上的RAM数量.对像素着色器(piexl shader)的支持(计算每个像素效果的内置程序,如透明效果),以及对顶点着色器 ...

  10. phpcms V9内容页调用标签

    1.页面标题:{$title} 2.发表时间:{$inputtime} 3.内容来源:{$copyfrom} 4.文章内容:{$content} 5.缩略图地址:{$thumb} 6.组图列表: {l ...