64位系统带来的访问数据库的问题

公司有个应用是用oci方式访问数据库的,最近硬件升级,换了个机器,结果不能用oci方式访问数据库了,总是提示
Exception in thread "main" java.lang.UnsatisfiedLinkError: /oracle/OracleHome/lib/libocijdbc10.so: /oracle/OracleHome/lib/libocijdbc10.so: cannot open shared object file: No such file or directory

这是个很奇怪的问题,因为文件明明就在那里,访问权限也是有的,后来在 http://www.experts-exchange.com/Programming/Languages/Java/New_to_Java/Q_22414089.html这个网页上受到了启发,当然我的问题和他正好是相反的。我们的代码都是用32位的jdk编译的,但是新机器是64位的系统,装的Oracle 10g客户端也是64位的,很可能是32位的代码用不了64位的.so文件,修改一下LD_LIBRARY_PATH 这个环境变量的设置,把/oracle/OracleHome/lib32/目录加进去并放在/oracle/OracleHome/lib/前面,然后再重启应用,果然没问题了。

你可能感兴趣的:(java,jdk,thread,oracle,Exchange)