原文: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账户才能下载)
下载地址: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版本太高引起的。
下载地址: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 |
|
配一个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服务端。