文章类型: VC&C++
关键词: msado15.dll,使用心得
内容摘要: msado15.dll 使用心得

msado15.dll的使用心得总结

2019/4/26 10:11:06    来源:apple    阅读:

一,首先msado15.dll有不同的版本,不同的版本有不同的接口在注册表中显示为不同的CLSID,接口不同,编译也是会出问题的(即将Win7和Win10自带的6.0以上的msado15.dll的版本复制到Windows Xp操作系统中使用就会出现“数据库连接失败:无效指针”的问题,反之,如果将Windows Xp操作系统中使用msado15.dll的2.81或2.82版本赋值替换Win7和Win10自带的6.0以上的msado15.dll的版本进行使用也会出现“数据库连接失败:无效指针”的问题,切记!),但已经编译出来的软件,可以在高版本的msado15.dll上运行,不用考虑版本问题,即在XP上编译的程序,也可以在WIN7、Win10上运行的,无论是32位系统或者是64位系统均可以的,不需要更换msado15.dll,如果替换,则会出现上述的问题。


二、在XP及以上的系统都自带有msado15.dll,并且都已经在系统中注册,所以打包时,不需要将msado15.dll打包入安装包,程序可以直接在XP及WIN7上运行,软件在连接数据库时,如果捕获到的异常显示“数据库连接失败:无效指针”,则表示msado15.dll还没有在目标主机上注册,只需找到本机中自带的msado15.dll,将其注册即可,msado15.dll所在路径为:C:\Program Files\Common Files\System\ado,如果注册后仍显示“数据库连接失败:无效指针”问题,则表示控件版本较开发版本低(注意:在Windows XP操作系统使用注册2.81即2.82版本是可以的,过高版本也会出现“数据库连接失败:无效指针”问题),拷贝开发版本至主机或找到较高版本注册即可解决问题。


三、如果在用INNOSETUP打包msado15.dll并注册后,初次安装后,连接数据应该是不会出问题的,但将其卸载后,再次安装就会出现问题了,运用同样的安装包,同样显示“数据库连接失败:无效指针”(我使用的Advanced Installer打包工具则没有出现此问题),为什么会出现这个问题,我一直也没弄清楚,敢肯定的是,INNO SETUP更改了注册表,解决办法也很简单,找到另一个较高版本的并且可以在目的主机中加载的控件重新注册就可以了,经过测试在WIN7系统中,注册6.0以上的版本是可行的,在XP系统中,注册2.81即2.82版本是可以的,在解决XP问题时,我用的是2.81.1117.0版本,当然其它版本也应该是可行的,在我资源中上传到从1.0版到现在所有的MSADO15.DLL版本,有X86和X64两个版本,大家可以去下载,地址如下:msado15.dll的下载地址

msado15.dll 32位和64位各版本的ADO都有,最新整理至Win10系统。

msado15.dll版本号说明:

版本号以5.0开头的或含有 nt 一般是windows2000的文件。 

版本号以5.1开头的或含有 xp、xpsp1、xpsp2、xpsp3 信息的一般是windowsXP的文件。 

版本号以6.0开头的或含有 longhorn、vista 信息的一般是windowsVista的文件。 

版本号以6.1开头的或含有 win7 信息的一般是windows7的文件。 

版本号以6.2开头的或含有 win8 信息的一般是windows8的文件。 

版本号以6.3开头的或含有 win8.1 信息的一般是windows8.1的文件。 

版本号以10.0开头的或含有 win10 信息的一般是windows10的文件。


五、现在封装软件时,只能先封装进去XP操作系统下使用的低版本msado15.dll,即2.81或2.82版本,在Windows Xp以上的操作系统中,如果自带msado15.dll没有了或删除了,则安装软件后,运行就会出现“数据库连接失败:无效指针”的问题,因为安装软件时,如果在默认目录下不存在msado15.dll,则会将打包的低版本msado15.dll,即2.81或2.82版本赋值至默认的msado15.dll所在目录下,上面已经提到,此版本智能在XP操作系统下使用,在高版本的Win7以及Win10的操作系统中不能使用,会出现“数据库连接失败:无效指针”的问题。如果高版本的Win7以及Win10的操作系统中已经存在自带有msado15.dll,则不会进行覆盖自带的高版本(6.0以上的版本)的msado15.dll,就可以正确运行程序,不会出现错误。为了防止上述问题的发生,可以再封装一版针对高版本操作系统(Win7以及以上的操作系统)的安装软件,将高版本的msado15.dll(6.0以上,Win10自带的我看了下,版本号为:10.0.17763.379,估计比这个高的还有)封装进去,我测试过,Win10自带的msado15.dll(版本号为:10.0.17763.379)可以在Win7下面运行,所以最好封装高版本的即可,当然需要6.0以上的版本。你也可以只封装前面的低版本的msado15.dll(即2.81或2.82版本)的安装软件,如果安装在高版本的操作系统(Win7以及以上的操作系统)出现了“数据库连接失败:无效指针”的问题,就说明了操作系统中原来不存在msado15.dll,将低版本的msado15.dll安装进行了且不能使用,下载或者复制其他高版本的msado15.dll替换即可解决这个问题。上面说的比较啰嗦,只是希望能够说清楚,不清楚的且遇到问题的请留言即可。


六、由于WinXP和Win7的ado库并不一样的,因此在不同的机子上表现并不一样,即WinXP的ado库不兼容win7,反之,Win7的ado库同样也不兼容WinXP的机子。


七、使用打包工具Advanced Installer打包软件时,目前还没有找到如何根据不同的操作系统打包不同的msado15.dll的版本的解决办法,找到了再补充本篇文章,也欢迎找到解决办法的同仁在下面留言提出宝贵建议和意见,大家一起交流和学习。


↑ 上一篇文章:VC CComboBox用法 关键词:VC,CComboBox,用法 发布日期:2019/4/22 14:33:30
↓ 下一篇文章:VC中使用宏区分操作系统和编译器 关键词:VC,用,宏,区分,操作系统,编译器 发布日期:2019/4/26 14:46:49
相关文章:
msado15.dll 使用心得 关键词:数据库,操作,msado15.dll,,使用 发布日期:2018-10-10 13:27
相关目录:.NETVC&C++ANDROIDJAVA
我要评论
正在加载评论信息......