未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"提供程序的解决方法(附mdac2.8下载)
程序员文章站
2024-01-18 14:20:22
未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"提供程序的解决方法(附mdac2.8下载)前几天用c#读 Excel 出现了如下问题,未在本地计算机上注册"Microsoft.Jet.OLEDB.4.0"提供程序。System.Data在网上多方找资料也没找到好的解决方法。今天问题终于解决了,贴出来和大家... 13-01-29...
简单的程序代码如下:
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安装目录里有或者到微软的官方网站上下)
5.如果是64位平台,也可能出现这种情况;解决方法:生成->配置管理器->平台->点击any cpu选项卡->新建->新建平台->x86
(我的就是这个问题)
win2003 安装mdac2.8 sp1 方法如下(具体分析再后面):
右击mdac安装文件(microsoft data access components(mdac) v2.8 sp1 :
属性-->兼容性-->用兼容模式运行这个程序(打上勾)-->选择winnt4.0(service pack 5)-->确定
再运行改可以正常安装,问题解决。
解决winxp sp2及win2003无法安装mdac导致ado无法修复的问题!!
ado损坏,但在winxp sp2和win2003上运行mdac 2.8,会出现如下的错误:
mdac 2.8 rtm 与此版本 windows 不兼容。现在它的所有功能都成为 windows 的一部分
mdac组件,在windows xp sp2以后的版本及windows 2003中已经包含了这个组件,如果直接使用mdac_typ.exe可能会无法安装,这时需要采用下面的方法。
解决!在安装了xp sp2或windows 2003的机器上修复mdac的方法如下:
在“我的电脑”中找到windows系统目录下inf文件夹中的mdac.inf文件,在其上点击右键,在弹出的菜单中选择“安装”,当提示定位文件时,您可以先将其指向windows\servicepackfiles\i386,当需要xp的cd时,指向xp的安装盘上的\i386文件夹即可。(如果您的xp安装包中包括了sp2,您可以直接指向xp的安装盘上的i386文件夹就可以了。如果您的sp2是从网上升级的,可能需要先指向c:\windows\servicepackfiles\i386文件夹,此处假定您的xp安装在c:\windows文件夹下)。
将上述两个组件下载安装后,估计您的数据库问题就会解决了。
mdac2.8在精简的xp的sp3版本中可能会遇到8008007f问题
access数据库的连接出现8008007f问题,有可能是系统精简的问题(或者mdac版本问题),网上说是重装mdac可解决,
找了半天,最后怎么解决的说不完整了,因为装了好多次的dll和各个文件夹,c:\window\system32\,c:\windows\system32\dllcache\,c:\program files\common files\odbc\,c:\program files\common files\oledb\,c:\program files\ado\;
不过,装这些东西时,要注意版本,关于本机mdac版本的检测:
http://www.microsoft.com/downloads/details.aspx?familyid=8f0a8df6-4a21-4b43-bf53-14332ef092c9&displaylang=en
或者到这个地址下载
复制代码
代码如下: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安装目录里有或者到微软的官方网站上下)
5.如果是64位平台,也可能出现这种情况;解决方法:生成->配置管理器->平台->点击any cpu选项卡->新建->新建平台->x86
(我的就是这个问题)
win2003 安装mdac2.8 sp1 方法如下(具体分析再后面):
右击mdac安装文件(microsoft data access components(mdac) v2.8 sp1 :
属性-->兼容性-->用兼容模式运行这个程序(打上勾)-->选择winnt4.0(service pack 5)-->确定
再运行改可以正常安装,问题解决。
解决winxp sp2及win2003无法安装mdac导致ado无法修复的问题!!
ado损坏,但在winxp sp2和win2003上运行mdac 2.8,会出现如下的错误:
mdac 2.8 rtm 与此版本 windows 不兼容。现在它的所有功能都成为 windows 的一部分
mdac组件,在windows xp sp2以后的版本及windows 2003中已经包含了这个组件,如果直接使用mdac_typ.exe可能会无法安装,这时需要采用下面的方法。
解决!在安装了xp sp2或windows 2003的机器上修复mdac的方法如下:
在“我的电脑”中找到windows系统目录下inf文件夹中的mdac.inf文件,在其上点击右键,在弹出的菜单中选择“安装”,当提示定位文件时,您可以先将其指向windows\servicepackfiles\i386,当需要xp的cd时,指向xp的安装盘上的\i386文件夹即可。(如果您的xp安装包中包括了sp2,您可以直接指向xp的安装盘上的i386文件夹就可以了。如果您的sp2是从网上升级的,可能需要先指向c:\windows\servicepackfiles\i386文件夹,此处假定您的xp安装在c:\windows文件夹下)。
将上述两个组件下载安装后,估计您的数据库问题就会解决了。
mdac2.8在精简的xp的sp3版本中可能会遇到8008007f问题
access数据库的连接出现8008007f问题,有可能是系统精简的问题(或者mdac版本问题),网上说是重装mdac可解决,
找了半天,最后怎么解决的说不完整了,因为装了好多次的dll和各个文件夹,c:\window\system32\,c:\windows\system32\dllcache\,c:\program files\common files\odbc\,c:\program files\common files\oledb\,c:\program files\ado\;
不过,装这些东西时,要注意版本,关于本机mdac版本的检测:
http://www.microsoft.com/downloads/details.aspx?familyid=8f0a8df6-4a21-4b43-bf53-14332ef092c9&displaylang=en
或者到这个地址下载
推荐阅读
-
IIS7.5 提示未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序
-
“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决方案
-
"未在本地计算机注册“OraOLEDB.Oracle.1”提供程序"问题的两种解决方法
-
SQL server 导入数据 的时候报错:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序
-
未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序错误的解决方法
-
未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序报错的解决办法
-
IIS7.5 提示未在本地计算机上注册“Microsoft.Jet.OleDb.4.0”提供程序
-
“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决方案
-
"未在本地计算机注册“OraOLEDB.Oracle.1”提供程序"问题的两种解决方法
-
SQL server 导入数据 的时候报错:未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序