加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 指定的DSN包含体系结构不匹配错误

发布时间:2020-12-15 07:37:07 所属栏目:Java 来源:网络整理
导读:我收到了这个错误: The specified DSN contains an architecture mismatch between the Driver and Application 尝试使用NetBeans和Java编程语言连接到数据库时 我正在使用Microsoft Access 2010和我的系统在64位Windows 7上运行. 我该如何解决这个问题?感
我收到了这个错误:

The specified DSN contains an architecture mismatch between the Driver
and Application

尝试使用NetBeans和Java编程语言连接到数据库时

我正在使用Microsoft Access 2010和我的系统在64位Windows 7上运行.

我该如何解决这个问题?感谢大家.

解决方法

在以下情况下会显示该消息:

>您安装了Access数据库引擎(a.k.a.“ACE”),
>为数据库连接创建ODBC DSN,和
>您的Java代码在JVM(Java虚拟机)中运行,其“bit-ness”与已安装的ACE版本不同.

例如,

>您可以安装32位版本的ACE,并尝试从64位JVM中运行的Java代码进行连接,或者
>您可以安装64位版本的ACE,并尝试从运行在32位JVM中的Java代码进行连接.

如果你真的想使用JDBC-ODBC Bridge,那么解决方案是切换到ACE的“其他”版本(即,从32位切换到64位,反之亦然),或者让你的Java代码运行与安装的ACE版本具有相同“bit-ness”的JVM.

(请注意,如果安装了Office,则“切换到64位ACE”实际上意味着“切换到64位Office”.您无法“混合和匹配”32位和64位Office组件.)

但是,现在已经从Java 8中删除了JDBC-ODBC Bridge,您应该考虑使用UCanAccess JDBC驱动程序.它是一个纯Java实现,不使用Access ODBC来操作数据库,因此它可以在运行Java的所有平台(即不仅仅是Windows)上的32位和64位JVM下运行.有关详细信息,请参阅

Manipulating an Access database from Java without ODBC

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读