Python3.5访问Oracle版本问题解决思路

1.环境说明:
Python版本:3.5
Oracle版本:11.2.0.4.0


2.访问方法:
>>import cx_Oracle
>>username ,数据库账户名 
>>passwd ,数据库账户密码 
>>host ,数据库的ip地址 
>>port ,数据库端口 
>>sid,数据库服务名
>>dsn = cx_Oracle.makedsn(host, port, sid)
>>con = cx_Oracle.connect(username, passwd, dsn)


3.报错情况(类似下图)

Python3.5访问Oracle版本问题解决思路


4.主要内容:

访问不成功,可能是因为python所安装的cx_Oracle第三方库版本与oracle版本不一致所引起的。那问题就在于如何匹配cx_Oracle版本和oracle版本,具体步骤包括(从Oracle官网下载64位的installclient,并将中间的oci.dll文件拷贝到原来32版本文件,此时,plsql可能出现访问异常情况,可在plsql工具->首选项进行installclient文件的设置):

Step1:配置64位oracle11g即时客户端,主要是减少安装客户端的繁琐,或者区别于已安装的数据库版本; 
(1)网址:http://www.oracle.com/technetwork/topics/winx64soft-089540.html 
(2)下载 instantclient-basic-windows.x64-11.2.0.4.0.zip,按照自身电脑系统情况对应下载 

(3)根据个人习惯解压文件到固定路径,本文是’D:/instantclient/’

Python3.5访问Oracle版本问题解决思路


Step2:将step1中解压后,找到oci.dll文件,拷贝覆盖Oracle的client文件中的32版本文件;


Python3.5访问Oracle版本问题解决思路


Step3:在plsql工具->首选项进行installclient文件的配置;(在左侧找到连接,然后点击会出现以下界面,替换Oracle主目录名和OCI库,可以参考百度百科中的步骤)


Python3.5访问Oracle版本问题解决思路


以上,即可以解决版本导致的访问不成功问题!

无法下载资源的,可以评论留言,可以分享资源:instantclient-basic-windows.x64-11.2.0.4.0.zip