Windows 7 SP1 导致含有 ADO 的程式失效問題
来源:互联网 发布:php final 方法 编辑:程序博客网 时间:2024/05/22 03:31
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
緣起
在编写AdminConsole告警接收处理展现模块中,出现在XP中编译可以使用ADO成功,但在WIN7 中编译就总是出现创建连接数据库的对象失败。百思不得其解,怀疑是dll的版本过高导致,结果误打误撞从dll的版本出发,找到问题所在。
问题所在:
Windows 7 SP1修改了ADODB的IID码(这个原因还真坑人,防不胜防)
正因为_ConnectionPtr的GUID值发生变化了,本来是[{00000550-0000-0010-8000
-00AA006D2EA4],將之改为【{00001550-0000-0010-8000-00AA006D2EA4}】,而這將影响着在Windows7 SP1 以前的系統,在Windows 7 SP1所编译出來的程式時,將因為找不到該程式內含的ADODB而造成无法正常運作。
微软官方解释:http://support.microsoft.com/kb/2640696
0x80004003无效指针错误。 因为_ConnectionPtr的GUID值发生变化了,需要更新系统补丁。
微软官方解释:http://support.microsoft.com/kb/2640696
解决方法:
下载补丁号:KB2640696
如果c:\Program Files\Common Files\System\ado\msado60.tlb存在就不需下载
下载安装后,需要更改头文件中的包含文件为:
//win7 SP1 以下版本用这个dll文件
//#import "C:\ProgramFiles\Common Files\System\ado\msado15.dll" no_namespacerename("EOF", "ADOEOF")rename("BOF","ADOBOF")
//win7 SP1 版本用这个dll文件
#import "c:\Program Files\CommonFiles\System\ado\msado60.tlb" no_namespace rename("EOF","ADOEOF") rename("BOF","ADOBOF")
重新编译,发布问题解决。
感慨:
现在的工作内容太杂乱了,一下linux下的,一下子window编程,一下子后台程序,一下子界面程序。杂乱都算了,主要是这些工作内容的不是主流的技术和无法开发出主流的产品。
只能在空闲时刻自学了。
- Windows 7 SP1 导致含有 ADO 的程式失效問題
- Windows7 SP1导致含有ADO的程序运行失败问题
- Windows7 SP1导致含有ADO的程序运行失败问题
- ADO导致KeyboardHook无端失效
- listview的item中含有button导致onitemclick事件失效的解决方法
- Windows 7 SP1不能更新的问题
- 导致索引失效的情况
- Windows 7 SP1 简体中文版下载
- Windows 7 SP1 语言包下载
- Windows 7 SP1整合补丁
- ADO程式設計開發指南
- Windows 7 SP1无法安装oracle10g 11g的解决办法
- 教您卸载Windows 7 SP1 Beta的三方法
- 安装VS2010 SP1后SQL2008R2 IntelliSense失效的解决方法
- Win 7+sp1+VS2010编译程序出现Ado运行错误
- ADO 开发指南(程式猎人收集整理)----发现最好的ADO MFC的数据库操作
- ADO 开发指南(程式猎人收集整理)----发现最好的ADO MFC的数据库操作
- 检查Windows mobile程式的内存泄露
- Xcode4编译过程中一些常见错误
- 视频压缩的基本原理,一些常见压缩算法的概念
- vi常用方法
- 最新Android 4.x 搭建开发环境
- 洋槐花,使人奋进的花
- Windows 7 SP1 导致含有 ADO 的程式失效問題
- Android横竖屏切换总结
- sharepoint systemUpdate() 对象的当前状态使该操作无效
- Android 获得休眠锁 禁止系统休眠 使应用获得更好的网络体验
- spring异常与事务回滚
- 用筛选法求N以内的质数
- Bash中的单引号和双引号(转载)
- Guava学习笔记:Google Guava 类库简介
- .NET 数据类型之指针类型(type*)