python3.7安装cx_Oracle
操作系统: win7-32bit
python版本:3.7.0
oracle版本:10.2.0
// pip方式安装
// 打开cmd输入如下命令
pip install cx_Oracle
自动下载并安装完成后,进入C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\Lib\site-packages查看。可以看到安装的是7.0.0版本。
>>>import cx_Oracle
>>>conn = cx_Oracle.connect('Username/password@Host:Port/SERVICE_NAME')
// 报错:提示安装的oracle版本过低
>>>cx_Oracle.DatabaseError: DPI-1050: Oracle Client library is at version 10.2 but must be at version 11.2 or higher
问题原因
由于这是我几年前就装的oracle客户端,已经跟不上时代了。起初想着要么干脆下个11.2以上的版本算了。可当我到oracle官网想要下载时,发现还要注册官网账号!懒得注册,于是找了度娘。
发现可以通过把instantclient11.2中的oci.dll、oraocci11.dll、oraociei11.dll提取出来,放到PY目录的Libs/site-packages文件夹下。电脑里正好有instantclient-basic-nt-11.2.0.3.0-x86.zip,于是尝试:
- 放到目录C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\Lib\site-packages。失败,还是提示版本过低。
- 放到目录C:\Users\Administrator\AppData\Roaming\Python\Python37\site-packages。成功连接数据库!!!因为我之前用plsql可以成功连接数据库,所以也不需要再配置环境变量了。
PS:为什么1中的目录不行?如果有大神看到希望能帮忙解答一下。谢谢!
2019/2/2----找到原因:由于我安装了Thonny,生成了C:\Users\Administrator\AppData\Roaming\Python\Python37\site-packages。删除该目录后,将三个dll放到C:\Users\Administrator\AppData\Local\Programs\Python\Python37-32\Lib\site-packages,再次尝试数据库连接。成功!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341