解决Win7上的连接access数据库的问题

时间:2021-11-13 11:16:47

最近做了一个win桌面程序,没有用sql 数据库,而是用access数据库,因为access比sql用起来方便多了,最主要是不要安装sql server,直接放在程序里面,然后创建连接字符就可以了,sql语句大部分相同。 软件做完后,不能在win7上跑起来,只要运行软件就报这样错

解决Win7上的连接access数据库的问题

在“宇内流云”的指导下,这个问题终于解决了, 在些特别感谢“宇内流云”。

下面简单说一下

方法一

1、  把msjetoledb40.dll文件解压放到windows\system32中。

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