gpt4 book ai didi

Java 数据库 (oracle) odbc 驱动程序不匹配

转载 作者:行者123 更新时间:2023-12-02 07:33:09 25 4
gpt4 key购买 nike

我正在尝试创建一个以java为前端、oracle为后端的数据库应用程序。

我有一个64位win7系统,安装了32位oracle 10g(10.2)。

我从/通过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

最佳答案

您一开始就不应该使用 JDBC/ODBC 桥。

下载 Oracle 的(纯 Java)JDBC 驱动程序 (http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html),您不必担心任何 32 位与 64 位不再不匹配。

另一个好处是数据库访问将更快、更可靠。

无需“安装”任何内容,只需使用应用程序中的 .jar 文件即可。不要乱搞 tnsnames.ora,计算机上不需要安装 Oracle 客户端。

关于Java 数据库 (oracle) odbc 驱动程序不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12651304/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com