python——安装cx_Oracle

原文:https://blog.csdn.net/Goldxwang/article/details/88805416

# 切记:一定注意版本问题!!!

 

Python操作oracle数据库需要用到cx_Oracle模块所以需要去下载cx_Oracle.

请注意:下载的cx_Oracle安装文件一定要跟pyhton的位数和版本一致,pyhton的位数最好是跟系统位数一致,不然有可能会出现各种各样的错误

安装cx_Oracle前请先安装Python 去官网下载Python

开始安装

如果跳出下图点是

现在测试下Python  在cmd命令行下输入 python  如图就成功安装了

下面贴出下载cx_Oracle的过程图,本文章需要下载文件的连接在文章末尾我会贴出来供大家下载

 

开始安装cx_Oracle

测试cx_Oracle   这时会报出个错误  ImportError: DLL load failed:找不到指定的模块  如下图:

 

原因是因为少了某些DLL模块,现在我们解决这个问题:  需要下载oracle的客户端:

下载过程图:

下载了之后解压结果如上图的 instantclient_10_2目录,打开此目录将里面的所有的 *.dll文件拷到pyhton安装目录下的Libsite-packages目录下   例:我的路径 C:Python27Libsite-packages

复制进去之后再次import cx_Oracle就不会报错了,也说明模块安装成功 如下图

 

 

恭喜大家现在可以操作oracle了,如果还在安装的过程中遇到什么问题可以留言给我,我看到会第一时间回复大家!

连接数据库的常用两种方式
方式一:用户名、密码和监听写在一起

 

import cx_Oracle

db=cx_Oracle.connect('username/password@host/orcl')

db.close()

 
方式二:用户名、密码和监听分开写

import cx_Oracle

db=cx_Oracle.connect('username','password','host/orcl')

db.close()

下面是Python操作oracle的小示例

#导入cx_Oracle模块
import cx_Oracle
#连接oracle数据库
conn=cx_Oracle.connect('username/password@host/orcl')
#创建cursor
cr = conn.cursor()
#sql语句  

sql="select * from "tableName"

recr = cr.execute(sql)#执行sql语句

#一次返回所有的结果集使用 fetchall
results = recr.fetchall()
for re in results:
    print "结果为: %s " %re
    
#一次返回一行 fetchone
while(1):
    re = cr.fetchone()
    if re==None:
        break
    print re
    
cr.close()
db.close()

Python下载链接:https://www.python.org/downloads/windows/

cx_Orcale 下载链接:https://sourceforge.net/projects/cx-oracle/files/5.1.2/

instantclient下载链接:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

(注:下载instantclient需要注册oracle账户才能下载)

cx_Oracle安装

下载地址:https://pypi.python.org/pypi/cx_Oracle/5.3 下载低版本cx_Oracle版本 
我是下载cx_Oracle-5.3-11g.win32-py3.6.exe,下载后直接双击安装,就ok了。

不建议直接使用pip install cx_Oracle命令安装,因为版本问题容易报错。cx_Oracle 报错:cx_Oracle.DatabaseError: DPI-1050: Oracle Client library must be at version 11.2,这就是cx_Oracle版本太高引起的。

oracle 客户端

下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

把下载的文件解压,复制oci,oraocci11,oraociei11的3个DLL粘贴到你的PY目录的Libs/site-packages文件夹下面。

python3.4连接oracle数据库测试代码:

1

2

3

4

5

6

7

8

9

10

import cx_Oracle

 

conn = cx_Oracle.connect('用户名/密码@主机ip地址/orcl')   #用自己的实际数据库用户名、密码、主机ip地址 替换即可

curs=conn.cursor()

sql='SELECT * FROM 。。。' #sql语句

rr=curs.execute (sql)

row=curs.fetchone()

print(row[0])

curs.close()

conn.close()

  

配一个ORACLE_HOME的环境变量,指向Instant Client的目录(如果你到这已经可以成功连接orcale数据库了,环境变量这一步不执行也可以,视情况而定):

到自己想要放的路径下,我的是C:instantclient-basic-win32-11.2.0.1.0instantclient_11_2

然后是配置环境变量:右键计算机——属性——高级系统设置——环境变量——系统变量——新建

  变量:ORACLE_HOME  值:Q:OracleClient

  变量:TNS_ADMIN       值:Q:OracleClient

  编辑path用';'隔开加一个  Q:OracleClient

 

安装结束,整个安装过程非常简单,也是我自己多次失败的总结,希望对你有帮助!

 

补充一点:

oracle数据库服务端版本如果是64位,你的机子上安装的客户端位数是32还是64,都不影响使用。

本机上不需要安装oracle服务端。

 

你可能感兴趣的