Python连接oracle数据库踩到的坑

来源:互联网 发布:uiautomator2.0源码 编辑:程序博客网 时间:2024/06/02 13:50

连了两天才连上,记录一下。

准备:

1.Python版本2.7

2.之前用plsql连接oracle时,下过一个简易版本的oracle client:  instantclient-basic-win32-11.2.0.1.0(事实证明这是坑之一)

3.下载https://pypi.python.org/pypi/cx_Oracle,符合自己的版本。

4. 我的系统是win7


一开始我直接用pip install cx_Oracle,结果发现报错。后来一查,原来win下不能这样,只能在网站上下载。

下好安装以后, import  cx_Oracle

结果报错ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。(当时中文还是乱码的)

查了半天,原来oracle客户端是32位的-。-重新下载了个64位的,就好了。http://tonyqiu.iteye.com/blog/1296583

终于import成功。


当时,按照网上说的,我把客户端里的oci.dll拷到了%python_home%\Lib\site-packages 里

结果一直连接不上数据库,错误是:

cx_Oracle.InterfaceError: Unable to acquire Oracle environment handle

后来参考了http://blog.itpub.net/29477587/viewspace-1704218/

原来是要把所有dll文件都拷贝过去。拷贝好后,终于连接上了数据库=。=

0 0
原创粉丝点击