`
agile_boy
  • 浏览: 547931 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

cx_Oracle的"Unable to acquire Oracle environment handle"异常

阅读更多
  先发一下牢骚,在对数据库的访问上,python跟java的jdbc相比,还是有不少差距的,比如访问Oracle,虽然有比较成熟的cx_Oracle,但是其安装和发布实在太复杂了,也顺便验证了一个道理,复杂的东西,其依赖的东西一般也比较多。
  切入正题,我是在Linux(Center OS 5)上安装cx_Oracle的,所需要的依赖,可以查看cx_Oracle的README,我采用的Instant Client方式,比较少,其rpm才几十M。
  一开始,我图省事,只是将所需要的so文件直接放到/usr/lib下边(其实这是个愚蠢的偷懒办法),结果就出现如题的异常。
  摸索下来,要成功运行cx_Oracle只是需要设置如下两个环境变量:
  • ORACLE_HOME,一般是你instant client 所在目录,通过rpm的一般在/usr/lib/oracle/xxx
  • LD_LIBRARY_PATH,一般是$ORACLE_HOME/lib


2011-3-17更新

在Window(XP)下安装,是不需要设置ORACLE_HOME,但是必须要将Instant Client的目录加到PATH的环境变量中。
OCI.DLL最好不要放在site-packages下边
分享到:
评论
3 楼 binglex 2013-07-04  
谢谢,出现这个异常,看来这个贴才发现site-packages下有个OCI.DLL,估计是以前放进去的,删掉就可以了;可能是因为还需要其他一些dll吧;
2 楼 agile_boy 2011-08-01  
parra 写道
为什么OCI.DLL最好不要放在site-packages下边 ?

呵呵,是我不知道其中的根本,所以觉得应该放在Oracle的安装的地方了。
1 楼 parra 2011-08-01  
为什么OCI.DLL最好不要放在site-packages下边 ?

相关推荐

Global site tag (gtag.js) - Google Analytics