c# 程序调试出现“未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。”

简单的程序代码如下:
DataSet ds=new DataSet();
try
{
string strCon = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\test.xls;Extended Properties=‘Excel

8.0;HDR=YES;IMEX=1‘";
OleDbConnection oleCon = new OleDbConnection(strCon);
oleCon.Open();
OleDbDataAdapter oleDA = new OleDbDataAdapter("select * from [sheet$]", oleCon);
oleDA.Fill(ds);

catch (Exception ex)
{
MessageBox.Show(ex.Message + ex.Source + ex.InnerException);
}
报错:未在本地计算机上注册 “Microsoft.Jet.OLEDB.4.0”提供程序。System.Data

需要注意的问题和解决方法:

1.Microsoft.Jet.OLEDB.4.0不要写成 Miscrosoft.Jet.OLEDB.4.0,;
2.Data Source不要写成“Data Sourse”,
3.检查是否安装了Office
4.重新安装注册 MDAC28.exe (一般你的vs安装目录里有或者到微软的官方网站上下)
  http://access911.net/fixhtm/72FABF1E14DC.htm?tt= (这个地址是一个朋友给的)
5.如果是64位平台,也可能出现这种情况;解决方法:生成->配置管理器-> 平台->点击Any Cpu选项卡->新建->新建平台->X86

-------------------------------

此方法的前提是, 你书写的 ConnectionString 是正确的, 形如:
Provider=microsoft.Jet.Oledb.4.0;Data Source=;Jet Oledb:Database Password=xxx;

如果此时,提示 “找不到提供者” 或 “未正确安装”, 原因是JET 4.0的 DLL在注册表中的信息, 由于某种原因被损坏或丢失,解决方法如下:

开始--->运行, 输入 regsvr32 msjetoledb40.dll, 回车。

建议重启一下,问题即可解决。
/////////////////////////////////////////////////

附上:Jet 4.0 Service Pack 8 下载地址
Jet 4.0 Service Pack 8 (SP8) for Windows 95 / 98 / NT 4.0
快速描述
Microsoft Jet 4.0 Service Pack 8 (SP8) 提供对 Microsoft Jet 4.0 数据库引擎的最新更新。请立即下载,以便获取整合了 Microsoft Jet 4.0 的 Microsoft 产品使用的几个文件的最新版本。
http://www.microsoft.com/downloads/details.aspx?FamilyID=4335216c-8cdd-4168-a030-46f815d3f5cd&DisplayLang=zh-cn

时间: 2024-07-31 18:46:08

c# 程序调试出现“未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。”的相关文章

iis 部署 未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序

C#读取Access数据库在VS调试时正常,发布到win7-64的IIS之后报错“未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序”.原因是VS调试时模拟的是32位,发布后的IIS是64位. 解决方式如下: 1.已安装的情况下: Framework启用32位应用程序设置成True 2.未安装情况 先安装AccessDatabaseEngine.exe 下载地址:http://www.microsoft.com/zh-cn/download/details.aspx?

解决方法:64位系统-未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

原文:解决方法:64位系统-未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"提供程序 win7或win8 64位下调试程序,出现这样的错误提示:未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序 解决方法如下: 方法一:“设置应用程序池默认属性”/“常规”/”启用32位应用程序”,设置为 true. 如下图所示: 方法二:生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X

解决方法:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

win7或win8 64位调试程序,出现这样的错误提示:未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序 解决方法如下: 方法一:“设置应用程序池默认属性”/“常规”/”启用32位应用程序”,设置为 true. 如下图所示: 方法二:生成->配置管理器->平台->点击Any Cpu选项卡->新建->新建平台->X86. 如下图所示:

未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序

我在Web App程序里面用“Microsoft.Jet.OLEDB.4.0”来连接Excel文件,导入到数据库,在Windows 2003+ Office 2007 的环境下正常,但是在Windows 2008 R2 + Office 2010 Beta 下,出现这样的错误"未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0” 提供程序" 网上的解决方式大概如下,但是行不通:需要注意的问题和解决方法:1.Microsoft.Jet.OLEDB.4.0不要写成Misc

Windows(64位IIS)未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序 解决方法

环境:windows server 2008r2 64位  IIS access 2003 问题:Windows(64位IIS)未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序 解决方法:网上找的 在Windows 7(32位)用.Net开发的Excel导入数据表功能,测试后一切正常,站点发布挪到Windows Server 2008(64位)上就意外了,出现错误提示,运行程序,抛出异常:未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序

64位windows2003 未在本地计算机上注册 microsoft.jet.oledb.4.0 提供程序

64位windows2003系统 使用 mdb数据库时候出现如下错误. 可能用office的一些比较旧的程序时候会这样. 未在本地计算机上注册 microsoft.jet.oledb.4.0 提供程序解决办法: ASP.NET 2.0,32 位版本要运行 32 位版本的 ASP.NET 2.0,请按照以下步骤操作:1. 单击“开始”,单击“运行”,键入 cmd,然后单击“确定”.  2. 键入以下命令启用 32 位模式:cscript %SYSTEMDRIVE%\inetpub\adminscr

asp.net采用OLEDB方式导入Excel数据时提示:未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0" 提供程序"

asp.net采用OLEDB方式导入Excel数据时提示:未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0" 提供程序" 笔者在项目中做做了一个从Excel表格中导入数据的模块.大体上asp.net项目中导入Excel大体分成三类: 1)采用c#内置方案System.Data.OleDb(限制较小, 通用) 2)采用Excel的COM组件(会有版本问题) 3)采用伪Excel文件.即使用文本流的方式根据需求自己定义数据格式.同时在服务端进行反格式化 笔者采

未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序

解决方法:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序 在Windows 7(32位)用.Net开发的Excel导入数据表功能,测试后一切正常,站点发布挪到Windows Server 2008(64位)上就意外了,出现错误提示,运行程序,抛出异常:未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序,搞了老半天,不知道什么原因,后来搜过了一下,才发现解决问题的办法是如此简单: 解决方法之一: 编译项目指定目标平台为x86就完了,不能用

未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序

 今天部署IIS时,win7或win8 64位调试程序,出现这样的错误提示:未在本地计算机上注册 Microsoft.Jet.OLEDB.4.0 提供程序 解决方法如下,解决方法从网上搜索的,至少解决了我的问题: