MFC ado 连接sql server提示未知错误

代码跟进去,发现CreateInstance返回值是空的。

找了下原因:


首先,环境如下:

开发机:win7   msado15.dll的版本:6.1.7601.17514
测试机1:xp    msado15.dll的版本:2.81.3007.0
测试机2:xp    msado15.dll的版本:2.81.3012.0

开发时用
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF") 
引入ado,在 测试机1 上连接不上数据库,提示未知错误。在 测试机2 上可以正常连接数据库。
可以确定是ado版本的问题。
我用#import "msado15.dll" no_namespace rename("EOF","adoEOF") 引入ado,将   2.81.3007.0 版本的 ado拷贝到工程下面,编译出的可执行程序在 测试机1 和测试机2上都能正常运行。又试了一个win2000系统,具体的ado版本忘了,比2.81.3007.0早,也能正常运行。如果将2.81.3012.0版本的ado拷贝到工程目录下,则在测试机2能正常运行,测试机1上不能正常运行。

目前就只能用#import "msado15.dll" no_namespace rename("EOF","adoEOF") 引入ado,然后将 2.81.3007.0 版本的ado拷贝到工程目录下面了,至少这样做可执行程序都能正常运行。


不清楚微软是怎么维护的,可能中间某个版本突然不兼容了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值