我正在尝试创建一个数据库应用程序,其中java作为前端,oracle作为后端。
我有一个安装了32位oracle 10g(10.2)的64位win7系统。
我是通过C:\Windows\SysWOW64\odbcad32.exe
创建了一个DSN,因为“控制面板/管理工具/ odbc数据源”没有显示“Microsoft Oracle ODBC”的选项
但是在连接数据库时我收到了这个错误:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6956)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7113)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3072)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:221)
at InsertRecord.main(InsertRecord.java:28)
at __SHELL7.run(__SHELL7.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at bluej.runtime.ExecServer$3.run(ExecServer.java:724)
我认为这是因为64位32位冲突。如果是这样的话,如果我安装了64位的odbc驱动程序,它会工作还是我需要再次为win64安装oracle数据库。
如果司机会这样做,我可以从哪里单独下载驱动程序?
任何人都有帮助吗?我在尝试使用odbc连接到oracle时遇到此错误
Driver loaded
java.sql.SQLException: [Microsoft][ODBC driver for Oracle][Oracle]ORA-06413: Connection not open.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at InsertRecord.main(InsertRecord.java:28)
java.lang.NullPointerException
答案 0 :(得分:2)
您不应该首先使用JDBC / ODBC桥。
下载Oracle(纯Java)JDBC驱动程序(http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html),您不必担心任何32位对64位再也不匹配了。
作为额外的好处,数据库访问将更快,更可靠。
没有什么可以“安装”,只需在应用程序中使用.jar文件即可。没有搞乱tnsnames.ora,没有在计算机上安装Oracle客户端。