ODBC 在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配

文章讲述了在64位Windows7环境下,由于Access2007只有32位版本,如何处理32位ODBC与64位系统的兼容性问题,包括解压并编辑AceRedist.msi、安装不同版本的VC_redist、以及使用64位ODBC驱动的解决方案。
摘要由CSDN通过智能技术生成

84fc2446fd0e4b49880ba7d690e0036c.png

常规办法就是64位或32位匹配,如果解决不了,往下看。


↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓解决方案↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

解压AccessDatabaseEngine_X64.exe,用orca编辑器打开AceRedist.msi文件,

选择LaunchCondition项,选择BLOCKINSTALLATION行删除,然后保存,运行AceRedist.msi文件,即可正常安装access的64位odbc驱动。

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑解决方案↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑


全新上位机部署环境时需要准备的东西:

        ODBC

        VC_redist.x86.exe

        VC_redist.x64.exe

        accessdatabaseengine.exe

        accessdatabaseengine_X64.exe

        Orca.Msi

Orca下载地址:

How to Download ORCA MSI Editor Standalone Version - Guiding Tech

说一下具体情况:

需求:

        Qt widget C++写了一个上位机软件,读取本地Access2007数据库内容。(Qt Quick--qml不能对接数据库)

环境分析:

        win7-64位操作系统。

        Access2007只有32位的,没有64位的。

        ODBC安装后在启动菜单中看到的是64位的,32位的在SysWOW64中,找到并创建一个快捷方式到桌面。

        VC_redist.x86.exe,在新电脑环境中,安装运行软件有时会报错,或明确提示提示缺少VCruntime140.dll时,装上86的运行时试下,不行再装64的。我这里只用到86的。

        读取数据库需要经过ODBC,安装对应64或32的对应数据库的驱动,依赖对应驱动创建DSN指向数据库DB文件,才能连接数据库;一般情况下,64或32匹配好就可以了。但现在这个情况由于Access2007的存在,只能用32位ODBC创建DSN,但操作系统是win7-64位,然后就出现“体系结构不匹配”的问题了。解决方案就是把64位的驱动也装上(我也想知道为什么,问题就在ODBC内部)。然后又出现问题了,安装64位驱动时会提示你,由于本地已经安装了32位的Access,你不可以再安装64位的驱动。

        这就让人很绝望。

        遇到同样问题的点个赞,我看看有多少难兄难弟👀

解决方案来自一位博客园-麒麟正青春的博主,原文链接

64位系统下access的64位odbc驱动 - 麒麟正青春 - 博客园 (cnblogs.com)

        防止链接失效,自己记录,改了名字也方便大家查阅。我当时翻遍了百度都没找到这个文章,还是网友发我的。

  • 24
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值