最近做了一个win桌面程序,没有用sql 数据库,而是用access数据库,因为access比sql用起来方便多了,最主要是不要安装sql server,直接放在程序里面,然后创建连接字符就可以了,sql语句大部分相同。 软件做完后,不能在win7上跑起来,只要运行软件就报这样错
在“宇内流云”的指导下,这个问题终于解决了, 在些特别感谢“宇内流云”。
下面简单说一下
方法一
1、 把msjetoledb40.dll文件解压放到windowssystem32中。
2、 开始--->运行, 输入 regsvr32 msjetoledb40.dll, 回车。
这样就可以了,
方法二:
我是按照《未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序 》博文操作的 来自:http://blog.csdn.net/lemontec/article/details/1754413
简单的程序代码如下:
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
第5点特别重要!
里面提到的文件下载地址 http://pan.baidu.com/share/link?shareid=4171362737&uk=758191606