MFC通过ADO连接Access,“未找到提供程序”

MFC通过ADO连接Access,“未找到提供程序”
有一个测试Access的demo,在安装MS Office Access时,能够正常运行,但是在未安装的电脑上,就会提示“未找到提供程序”。
刚开始以为是没有相关的数据库驱动,但是在查找后发现什么都不缺,后来终于发现是连接语句发生错误。
所以再开始要先测试是否vs2010是否能够正常连接Access数据库(.mdb)。测试方法:
vs2010 -> 工具 -> 连接到数据库 -> 添加数据库文件名后,点击连接测试(测试失败的话应该就是驱动的问题了)。
测试成功后,点击“高级” -> 在最下面有连接的语句,例如:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data\Access\dat.mdb。
我犯的错误是,在32位的程序中,采用了64位的连接语句。
win32:
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Data\Access\dat.mdb
x64:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data\Access\dat.mdb
在程序中最好的编写方式是:
#if defined _WIN64//如果是64位程序 CString strConn = _T("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Data\\Access\\dat.mdb"); #elif defined _WIN32//如果是32位程序 CString strConn = _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Data\\Access\\dat.mdb"); #endif

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值