java服务器连接的是oracle11,现在客户端的程序需要再连接oracle8i 20
在连接oracle8i的时候,Exceptioninthread"AWT-EventQueue-2"java.lang.UnsatisfiedLinkError:nooc...
在连接oracle8i的时候,
Exception in thread "AWT-EventQueue-2" java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
报这个错误,配了好多驱动版本也不行,请大神指导。万分感谢! 展开
Exception in thread "AWT-EventQueue-2" java.lang.UnsatisfiedLinkError: no ocijdbc8 in java.library.path
报这个错误,配了好多驱动版本也不行,请大神指导。万分感谢! 展开
1个回答
展开全部
你选的是 OCI 驱动,就是说它是 JDBC type 2 驱动,要求你的机器上已经安装了 oracle 的客户端,并且 oracle 的 bin 目录已经在 PATH 环境变量中。
如果你是必须用 OCI 型驱动的话,就需要这个配置,现在一般纯 Java 应用程序都使用 JDBC Type 4 驱动,它就不要求安装 Oracle Client。
我只知道在开始菜单中的 Oracle > Universal Installer 或 Home Selector 启动这个管理器,然后在 Installed Oracle Home 中列出了你已安装的 oracle home,包括 oracle 11g 和 Oracle 8i, 你想用哪个Oracle client 就需要选中哪个,当然还可以多选,(可选地还可以调整顺序让 Oracle 8i 在上面然后“应用”)这样 Oracle 会帮我们调整一下这个 Oracle 8i 的 BIN 目录在 PATH 环境变量中的位置(多个 oracle home 出现在 PATH 变量中的顺序就是你刚才调整多个 Oracle Home 的次序),这样当使用 8i 时它在 oracle 11g 的 bin 目录下找不到 ocijdbc11.dll 就会到 oracle 8i 的 bin 目录下去找。
如果你是必须用 OCI 型驱动的话,就需要这个配置,现在一般纯 Java 应用程序都使用 JDBC Type 4 驱动,它就不要求安装 Oracle Client。
我只知道在开始菜单中的 Oracle > Universal Installer 或 Home Selector 启动这个管理器,然后在 Installed Oracle Home 中列出了你已安装的 oracle home,包括 oracle 11g 和 Oracle 8i, 你想用哪个Oracle client 就需要选中哪个,当然还可以多选,(可选地还可以调整顺序让 Oracle 8i 在上面然后“应用”)这样 Oracle 会帮我们调整一下这个 Oracle 8i 的 BIN 目录在 PATH 环境变量中的位置(多个 oracle home 出现在 PATH 变量中的顺序就是你刚才调整多个 Oracle Home 的次序),这样当使用 8i 时它在 oracle 11g 的 bin 目录下找不到 ocijdbc11.dll 就会到 oracle 8i 的 bin 目录下去找。
更多追问追答
追问
我用thin连接的时候报以下异常,请问是怎么回事:
Exception occurred during event dispatching:
java.lang.ArrayIndexOutOfBoundsException: 4
at oracle.jdbc.driver.T4C8TTIdty.(T4C8TTIdty.java:479)
谢谢
追答
Thin 方式这个错误不清楚。thin 方式连接数据库不要求已经安装过客户端。简单些,不过有些特殊的性能方面 oci 驱动的 native 方式可能有缓冲优化,因为有客户端运行在本地的时候能力还要强一点,但部署时的时候就多了安装客户端这一步。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询