网站大量收购独家精品文档,联系QQ:2885784924

[计算机]关于在Win7 SP1操作系统下编译的ADO应用程序不能在比Win7 SP1版本低的操作系统上运行.doc

[计算机]关于在Win7 SP1操作系统下编译的ADO应用程序不能在比Win7 SP1版本低的操作系统上运行.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机]关于在Win7 SP1操作系统下编译的ADO应用程序不能在比Win7 SP1版本低的操作系统上运行

关于在Win7 SP1操作系统下编译的ADO应用程序不能在比Win7 SP1版本低的操作系统上运行,微软给出的解释和解决方案 Posted on 2011-09-11 09:15?Mr-Victor?阅读(99)?评论(2)?编辑?收藏? 本文解决方案摘自:/kb/2517589 ?   这几天一直在写一个股票软件,用的ACCESS来存储数据,用的ADO方式来操作数据库,在自己机子上运行得好好的,在别人机子上就完全用不起,调试了很久才发现问题锁定在hr = m_pLocalConnection.CreateInstance(__uuidof(Connection));这条语句上,这条语句是创建一个Connection对象,正确执行后是能创建的,但是在别人机子上就是不能正确执行,弄了一天也没弄明白,后来跟一个朋友聊天,从他那里得知原来在Win7 SP1的操作系统上编译的ACCESS应用程序不能在比Win7 SP1的低版本操纵系统上运行,而别人的机子恰好都不是Win7 SP1的操作系统,找到原因就好办了,一下是微软给出的官方解释和解决办法。 症状:   请考虑下面的方案。在计算机上正在运行 Windows 7 Service Pack 1 (SP1) 或 Windows 服务器 2008 R2 SP 1 或具有 KB9823246 安装,您通过使用以下应用程序之一重新编译 Microsoft ActiveX 数据对象 (ADO) 应用程序: Microsoft Visual c + + Microsoft Visual Basic for Applications (VBA) Microsoft Visual Basic 6 Microsoft。NET 应用程序   在这种情况下,您发现应用程序不在级别较低的操作系统上运行。例如,它不会运行 Windows 7 的发行版、 Windows Vista 中,和其他早期的 Windows 版本。具体取决于您的实施,您还会收到类似于下列内容之一的错误消息。(您可能收到其他错误消息。)   错误消息 1     REGDB_E_CLASSNOTREG (0   错误消息 2     E_POINTER (0   错误消息 3     E_NOINTERFACE (0   错误消息 4     无法将对象强制转换 COM 类型为接口类型的 System.__ComObject 的 ADODB。连接。此操作失败,因为 COM 组件的接口 IID 0000-0010-8000-00AA006D2EA4} 上的 QueryInterface 调用失败,出现以下错误: 不支持此界面 (从 HRESULT 异常: 0(E_NOINTERFACE))。 ? 以下 Visual c + + 代码段复制此问题。 #import msado15.dll no_namespace rename(EOF,EndOfFile) int main() {   CoInitialize(NULL);   _ConnectionPtr pConnection = NULL;   HRESULT hr = pConnection.CreateInstance(__uuidof(Connection)); //hr gets E_NOINTERFACE here }   下面的 Visual Basic for Applications,代码段复制此问题。 Private Sub Form_Load()   Dim Conn As New ADODB.Connection ‘Runtime error here: Class does not support Automation or does not support expected interface End Sub   VBA 错误:运行时错误430: 类不支持自动化或不支持所需的接口   请注意?Microsoft 不能再用于 ADO 支持的主互操作程序集,并不再支持 Visual Basic 6。有关 Visual Basic 6 可支持性的详细信息,请访问下面的 MSDN 网页: 在 Windows Vista、 Windows Server 2008 和 Windows 7 Visual Basic 6.0 支持语句(/en-us/vbasic/ms788708.aspx)   有关 ADO 支持能力的主互操作程序集的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 318559?(/kb/318559/ )?有关 AD

文档评论(0)

qiwqpu54 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档