c# 程序调试出现“未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。”
解决方法:“设置应用程序池默认属性”/“常规”/”启用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进入。
单步运行程序更能站在计算机的角度,理解程序的运行,也能发现程序中不容易检查到的问题。
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
2. 64位windows不支持32位的Microsoft.Jet.OLEDB.4.0,需要将IIS或者程序运行在32位下