在利用ADO数据库编程时,出现的IDispatch 3127和Unknow error 0x800a0e7d错误的解决方法

在学习ADO数据库编程时,遇到IDispatch 3127和Unknow error 0x800a0e7d错误。问题根源是32位Access驱动与64位Windows系统不兼容。解决方案包括:安装64位ODBC驱动,下载AccessDatabaseEngine_X64.exe并解压,用Orca编辑工具修改AceRedist.msi的LaunchCondition,删除BLOCKINSTALLATION,然后安装AceRedist.msi。按照此步骤操作,问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本人最近在学ADO数据库编程,在学习过程中遇到了标题所说的问题,经过调试,最终定位在

m_pRecordset->Open( bstrSQL,_variant_t((IDispatch *)m_pConnection,true),adOpenForwardOnly,adLockOptimistic, adCmdText);

经过在网上各种搜索,最终发现问题所在:我的电脑系统是win7 64位的,与安装的32位Access驱动程序不匹配,致使ODBC相关的应用程序不能正常运行(如果是这一问题,你从控制面板->管理工具->ODBC数据源可以发现不能正常注册mdb数据源)。

解决方法:安装64位ODBC驱动程序

步骤:1. 从下述网址下载AccessDatabaseEngine_X64.exe,并进行解压。

http://www.microsoft.com/downloads/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=en

2. 安装Orca编辑工具(下载地址http://www.technipages.com/wp-content/uploads/2007/11/orca.Msi

3. 从

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值