指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配错误
Posted
技术标签:
【中文标题】指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配错误【英文标题】:The specified DSN contains an architecture mismatch between the Driver and Application error 【发布时间】:2013-06-02 00:24:42 【问题描述】:因此,我已经进行了数小时的反复试验和研究,试图弄清楚这个错误的含义。据我所知,这是由 ODBC 驱动程序和 Microsoft Access 的位架构之间的差异引起的(我正在尝试与 Java 连接)。 MS Access 是一个 32 位程序,所以我使用 SysWOW64 odbcad32.exe 创建 DSN。这是我用于连接的 Java 代码:
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:bukkitdb";
String username = "root";
String password = "root";
try
Class.forName(driver);
catch (ClassNotFoundException e)
Bukkit.broadcastMessage("ClassNotFoundException");
try
Connection conn = DriverManager.getConnection(url, username, password);
catch (SQLException e)
Bukkit.broadcastMessage(e.getMessage());
我看过很多关于如何创建这些连接的教程和示例。我几乎可以肯定这段代码没有任何重大缺陷。运行时,e.getMessage() 将标题中的 SQLException 发送到控制台:指定的 DSN 包含 Driver 和 Application 之间的架构不匹配。
如果能帮助我弄清楚我能做些什么来解决这个问题,我们将不胜感激;我今天浪费了很多时间试图弄清楚这一点。
【问题讨论】:
【参考方案1】:不幸的是,您需要在 32 位 JVM 上运行您的应用程序才能避免这种情况。 ODBC 驱动程序架构必须与 JRE 的架构相匹配。
这里有一些关于运行 32 位 JRE 的信息:Running 32bit JRE on a 64bit windows 2008R2 server
【讨论】:
以上是关于指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配错误的主要内容,如果未能解决你的问题,请参考以下文章
指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配。 JAVA
例外:[Microsoft][ODBC Driver Manager] 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配“[重复]
windows 2008 64位在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配