欢迎来到天天文库
浏览记录
ID:23224413
大小:55.50 KB
页数:5页
时间:2018-11-05
《[计算机]关于在win7sp1操作系统下编译的ado应用程序不能在比win7sp1版本低的操作系统上运行》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、关于在Win7SP1操作系统下编译的ADO应用程序不能在比Win7SP1版本低的操作系统上运行,微软给出的解释和解决方案Postedon2011-09-1109:15 Mr-Victor 阅读(99) 评论(2) 编辑 收藏 本文解决方案摘自:http://support.microsoft.com/kb/2517589 这几天一直在写一个股票软件,用的ACCESS来存储数据,用的ADO方式来操作数据库,在自己机子上运行得好好的,在别人机子上就完全用不起,调试了很久才发现问题锁定在hr=m_pLocalConnection.CreateIns
2、tance(__uuidof(Connection));这条语句上,这条语句是创建一个Connection对象,正确执行后是能创建的,但是在别人机子上就是不能正确执行,弄了一天也没弄明白,后来跟一个朋友聊天,从他那里得知原来在Win7SP1的操作系统上编译的ACCESS应用程序不能在比Win7SP1的低版本操纵系统上运行,而别人的机子恰好都不是Win7SP1的操作系统,找到原因就好办了,一下是微软给出的官方解释和解决办法。症状: 请考虑下面的方案。在计算机上正在运行Windows7ServicePack1(SP1)或Windows服务器2008
3、R2SP1或具有KB9823246安装,您通过使用以下应用程序之一重新编译MicrosoftActiveX数据对象(ADO)应用程序:·MicrosoftVisualc++·MicrosoftVisualBasicforApplications(VBA)·MicrosoftVisualBasic6·Microsoft。NET应用程序 在这种情况下,您发现应用程序不在级别较低的操作系统上运行。例如,它不会运行Windows7的发行版、WindowsVista中,和其他早期的Windows版本。具体取决于您的实施,您还会收到类似于下列内容之一的错误
4、消息。(您可能收到其他错误消息。) 错误消息1 REGDB_E_CLASSNOTREG(0X80040154) 错误消息2 E_POINTER(0X80004003) 错误消息3 E_NOINTERFACE(0X80004002) 错误消息4 无法将对象强制转换COM类型为接口类型的System.__ComObject的ADODB。连接。此操作失败,因为COM组件的接口IID{00001550-0000-0010-8000-00AA006D2EA4}上的QueryInterface调用失败,出现以下错误:不支持此界
5、面(从HRESULT异常:0x80004002(E_NOINTERFACE))。" 以下Visualc++代码段复制此问题。#import"msado15.dll"no_namespacerename("EOF","EndOfFile")intmain(){ CoInitialize(NULL); _ConnectionPtrpConnection=NULL; HRESULThr=pConnection.CreateInstance(__uuidof(Connection));//hrgetsE_NOINTERFACEhere} 下面的V
6、isualBasicforApplications,代码段复制此问题。PrivateSubForm_Load() DimConnAsNewADODB.Connection‘Runtimeerrorhere:ClassdoesnotsupportAutomationordoesnotsupportexpectedinterfaceEndSub VBA错误:运行时错误"430":类不支持自动化或不支持所需的接口 请注意 Microsoft不能再用于ADO支持的主互操作程序集,并不再支持VisualBasic6。有关VisualBasic6可支持
7、性的详细信息,请访问下面的MSDN网页:在WindowsVista、WindowsServer2008和Windows7VisualBasic6.0支持语句(http://msdn.microsoft.com/en-us/vbasic/ms788708.aspx) 有关ADO支持能力的主互操作程序集的详细信息,请单击下面的文章编号,以查看Microsoft知识库中相应的文章:318559 (http://support.microsoft.com/kb/318559/) 有关ADO(ADODB)在VisualStudio中使用的主互操作程序集.
8、NET 原因: 因为有些ADO接口更改与新实例标识符(IIDs)相关联的Windows7SP1中,将出现此问题。较旧的IID接口分配以
此文档下载收益归作者所有