今天在装有64位python的服务器上跑工具的时候出现了InterfaceError: unable to acquire oracle environment handle。之前在装有32位的python的pc上跑的时候没有出现过的。
网上找了很多解决方法,大部分都是是环境变量oracle_home或ld_library_path的问题。我按照上面的方法设置了环境变量后还是出现同样的错误。
后来灵机一动,想到可能是oracle客户端的问题,我用的客户端是instantclient,因为cx_Oracle连接数据库的时候要用到客户端中的lib,而python是64位的,cx_Oracle自然是64位的,所以客户端也应该用64位的。换成64位的instantclient,哈哈,搞掂!
64位的instantclient不好的地方就是无法用plsql developer了,当然可以在另一台机器上配置32位的instantclient,然后远程访问。