从Java类(ocijdbc11.dll)连接到Oracle数据库时出现问题

从Java类(ocijdbc11.dll)连接到Oracle数据库时出现问题,java,oracle,dll,connection,Java,Oracle,Dll,Connection,我有一些数据库导入和导出ant脚本,它们运行一些java程序来导入和导出oracle 11g中的数据 这些脚本过去在Vista 32位上运行,但在Windows 7 64位上停止运行。我可以使用两个版本的ocijdbc11.dll 当我使用64位版本时,错误消息是:java.lang.unsatifiedLinkError:C:\tools\oracle\ocijdbc11.dll:无法在IA 32位平台上加载AMD 64位.dll 使用32位版本时,错误消息为:java.lang.Unsati

我有一些数据库导入和导出ant脚本,它们运行一些java程序来导入和导出oracle 11g中的数据

这些脚本过去在Vista 32位上运行,但在Windows 7 64位上停止运行。我可以使用两个版本的ocijdbc11.dll

当我使用64位版本时,错误消息是:java.lang.unsatifiedLinkError:C:\tools\oracle\ocijdbc11.dll:无法在IA 32位平台上加载AMD 64位.dll

使用32位版本时,错误消息为:java.lang.UnsatifiedLinkError:C:\tools\oracle\ocijdbc11.dll:%1不是有效的Win32应用程序


有人知道我需要更改什么来修复此问题吗?

对不起,我不是windows专家,但我也使用windows java的11g,但不是oci驱动程序,而是包含精简驱动程序的ojdbc14.jar。据我所知,此驱动程序不需要本机dll


jar中的11不是oracle服务器版本,而是要与之一起使用的JDK版本。因此,ocijdbc11是一个与JDK1.1兼容的驱动程序。您应该使用ojdbc14.jar、ojdbc5.jar或ojdbc6.jar(ojdbc14.jar也适用于Java 6,但ojdbc6.jar不适用于Java 1.4)。

我想正是这样,从类型2切换到类型4驱动程序应该可以解决任何问题。