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

 我来答
小鱼的生活笔记
高能答主

2020-02-17 · 专注于生活领域的最新咨询和生活小细节
小鱼的生活笔记
采纳数:608 获赞数:411530

向TA提问 私信TA
展开全部

解决方法:“设置应用程序池默认属性”/“常规”/”启用32位应用程序”,设置为 true。 如下图所示:

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

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。

扩展资料

编写程序的时候,有时候运行结果达不到预期,多次检查仍然找不出问题,这时可以调试程序。调试程序的方法有很多,这里主要介绍单步运行程序调试。就是逐条语句执行,在执行的过程中直接观察变量的值的变化。

在大多数C语言编译软件中,简单调试程序的快捷键如下:

F9在当前光标所在的行下断点,如果当前行已经有断点,则取消断点。 

F5调试状态运行程序,程序执行到有断点的地方会停下来。 

CTRL+F10运行到光标所在行。

F10执行下一条语句(不进函数)。

F11执行(进入函数)step in

F11和F10都是单步执行程序,其区别是,如果当前执行语句是函数调用,则F11会进入函数里面,而F10不会进入此函数。

SHIFT+F5跳出当前所在函数。

初学者不容易记住这些快捷键,视频中主要介绍三个:F11和F10以及SHIFT+F5。

调试前,需要生成可执行文件。

CTRL+F7编译,生成obj文件。

F7链接,生成exe文件。

接下来就可以调试了。

F11和F10都是执行一条语句,不同之处在于是否进入函数。

主函数也是函数,是程序的入口,调试程序当然要进入主函数。所以首先可以按F11,进入主函数运行。

在单步执行过程中若遇到库函数,例如printf和scanf,则不需要进入这样的函数调试,故此时需要按F10单步执行语句。

而在单步运行中遇到了自己编写的函数,则需要进入函数调试,也按F11进入。

单步运行程序更能站在计算机的角度,理解程序的运行,也能发现程序中不容易检查到的问题。

百度网友331112cc1
推荐于2017-11-23 · TA获得超过1310个赞
知道小有建树答主
回答量:1070
采纳率:100%
帮助的人:427万
展开全部
简单的程序代码如下:
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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
depluin
2010-07-07 · TA获得超过3179个赞
知道大有可为答主
回答量:3378
采纳率:75%
帮助的人:2442万
展开全部
1.没装

2. 64位windows不支持32位的Microsoft.Jet.OLEDB.4.0,需要将IIS或者程序运行在32位下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式