连了两天才连上,记录一下。
准备:
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文件都拷贝过去。拷贝好后,终于连接上了数据库=。=