ado 0x80004002 0xC0000005

2024-04-26 13:32
文章标签 ado 0xc0000005 0x80004002

本文主要是介绍ado 0x80004002 0xC0000005,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ADO连接数据库,编译到客户机运行时出现CreateInstance报错0x80004002、CreateParameter报0xC0000005错误的解决方法:

原因是利用高版本的maado15.dll编译的程序,可客户机器上的msado15.dll版本较低。如果在win7上编译的而客户机器是xp,则用如下描述的解决方案。如果开发机器和客户机都是win7,则让客户安装下win7 sp1补丁后尝试重启软件。

解决方案如下:

1、先下载下面的文件
32位WIN7系统: Msado60_Backcompat_i386.tlb
64位WIN7系统(INTEL平台): Msado60_Backcompat_i386.tlb  和 Msado60_Backcompat_x64.tlb
64位WIN7系统(AMD平台): Msado60_Backcompat_i386.tlb  和 Msado60_Backcompat_ia64.tlb

2、拿64位系统示例
注册Msado60_Backcompat_i386.tlb

(1)、将Msado60_Backcompat_x64.tlb复制到C:\Program Files\Common Files\System\ado\目录下;将Msado60_Backcompat_i386.tlb拷贝到C:\Program Files (x86)\Common Files\System\ado\目录下;

(2)、再将C:\Windows\Microsoft.NET\Framework\v4.0.30319\regtlibv12.exe复制到类似(1)中的两个ado目录下
(3)、运行CMD,--{这一步可以省略,不注册包含绝对路径也可以}
        分别输入:
               pushd C:\Program Files (x86)\Common Files\System\ado\回车
               regtlibv12.exe msado60_Backcompat_i386.tlb回车
注意:
32位系统需要注册Msado60_Backcompat_i386.tlb;
64位WIN7系统(INTEL平台)需要注册:
Msado60_Backcompat_i386.tlb和Msado60_Backcompat_x64.tlb这2个文件;

64位WIN7系统(AMD平台)需要注册:
Msado60_Backcompat_i386.tlb和Msado60_Backcompat_ia64.tlb这2个文件;


3、替换程序代码
如果是VC++
将:
#ifdef WIN64
#import "c:\Program Files\Common Files\System\ado\Msado15.dll" no_namespace rename("EOF","adoEOF")
#else
#import "c:\Program Files (x86)\Common Files\System\ado\Msado15.dll" no_namespace rename("EOF","adoEOF")
#endif

替换为:

#ifdef WIN64
#import "c:\Program Files\Common Files\System\ado\msado60_Backcompat_x64.tlb" no_namespace rename("EOF", "adoEOF")
//#import "C:\Program Files\Common Files\System\ado\msado60.tlb" no_namespace rename("EOF", "adoEOF")
//#import "c:\Program Files\Common Files\System\ado\msado28.tlb" no_namespace rename("EOF", "adoEOF")
#else
#import "c:\Program Files (x86)\Common Files\System\ado\msado60_Backcompat_i386.tlb" no_namespace rename("EOF","adoEOF")
#endif

4、重新生成解决方案即可

这篇关于ado 0x80004002 0xC0000005的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/937713

相关文章

vs2013 ADO连接SQL server2012数据库

通常情况下,一个给予ADO的数据库应用使用如下的过程操作数据源里的数据  (1) 创建一个Connection 对象。定义用于连接的字符串信息,包括数据源名称、用户ID、口令、连接超时 、 缺省数据库以及光标的位置。一个 Connection 对象代表了同数据 源的一次会话。可以通过 Connection 对象控 制事务,即执行BeginTrans、CommitTrans 和RollbackT

高级C#开发者的 ADO.NET 数据库操作工具类深入解析与实战

高级C#开发者的 ADO.NET 数据库操作工具类深入解析与实战 目录 高级C#开发者的 ADO.NET 数据库操作工具类深入解析与实战 一、ADO.NET 框架概述 二、DBHelper工具类的设计与实现 三、DBHelper工具类的实操分析 四、DBHelper工具类的高级应用 五、总结与展望 一、ADO.NET 框架概述 1.1 ADO.NET 框架简介 ADO.

vc++,MFC 中,用ado执行sql server语句时,并且对返回值真假判断的例子,即bool类型

MFC VC++ 中的对数据库中的表进行查询,判断SQL语句是否执行成功 若存在返回bool值true(1),若失败返回bool值false(0)。 简单bool类型代码如下: CString sql,Result;sql.Format(_T("select * from [dbo].[%s]"), Name);// Name是所要查找数据库中表的名字BOOL bool_temp

Ado.Net基本操作

这里我用到是SqlServer数据库操作,给大家进行讲解简单的Ado.Net操作,数据库的增删改查 连接数据库 想必大家对数据库字符串都记不住吧,这里我给大家一个简单的操作: 第一步:打开视图 第二步:打开服务器资源管理器 第三步:数据库连接-->鼠标右击 添加连接 第四步:选择Microsoft SQL Server 第五步:根据页面的配置和数据库连接配置一

ADO.NET (二)—— ADO和ADO .NET对比

ADO.NET (二)—— ADO和ADO .NET对比       我们知道ADO.NET的两大核心组件分别是Data Provider和DataSet。如果说 DataSet是ADO.NET的心脏,那么Data Provider绝对是ADO.NET的左臂右膀。 Data  Pro

ADO.NET——DataAdapter对象

DataAdapter对象    来源以及作用:前面我所介绍的ADO.NET对象中,例如Connection对象,Command对象以及DataReader对象,这些对象均属于Data Provider的一部分,而且都是基于连接的。如果,每次我们检索数据库中的表或者行都需要连接一次数据库,那么性能和效率是十分低下的。实际上,ADO.NET提供了基于非连接的核心组件:DataSet。那么存储

ADO.NET——Connection、Command。

.NET Framework 数据提供程序包括四个核心对象Connection,Command,DataReader,DataAdapter、在这,我只简单谈一下与SQL Server中经常使用的对象。连接对象SqlConnection,它是在System.Data.SqlClient的命名空间下使用的。     一、Connection对象     描述:作为Data Provide

ADO.NET 之核心组成对象

引言:在当今数据信息丰富的时代,计算机领域中使用数据库来存储信息和访问信息,但是本身数据库种类有很多,例如SQL Server,Oracle,Access,MySql等,因此,如何能更加高效、更加方便地使用一种统一的数据访问编程模型来对不同的数据库的数据进行操作,此时,强大MS就为广大的开发者提供了基于.NET平台的数据访问编程模型ADO.NET。     1、学习背景: 在敲机房收费

ADO.NET之初步了解

重构的时候就接触过ADO.NET,新闻发布系统的时候遇到了sqlhelp。学习ASP.NET的时候,老师又很详细的讲了。现在总结一下。 简介:            首先,ADO.NET提供了对sql server等数据库的访问。应用程序可以通过ADO.NET连接到数据库,并检索、操作、更新其中的数据。同时他是一组向.net编程人员公开数据访问服务的类。ADO。

【ADO.NET】——强大的数据库桥接

ADO.NET名称起源于ADO(ActiveX Data Objects),是一个COM组件库,用于在遗忘的Microsoft技术中访问数据。之所以使用这个名称,是因为Microsoft希望表明,这是在NET编程环境中优先使用的数据访问接口。说白了,ADO.NET及时一个类库,里面包含很多对象和类,用来实现程序访问数据库的功能。 ADO.NET类库位于System.Data.dll中,所