关于C#联接数据库是出现'未在本地计算机上注册'错误的解决办法

今天在用c#连接access数据库处理数据的时候遇到了一个诡异的问题,

未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序

我们的部分代码如下:

            string constr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=";
            string str = System.Environment.CurrentDirectory;
            str += "\\Database.accdb";
    

所以问题出在了第一句,其实刚看到这个东西的时候,我和我的室友的表情是这样的

关于C#联接数据库是出现'未在本地计算机上注册'错误的解决办法_第1张图片

因为这个代码是上学期我们C#期末大作业的代码,是经过答辩考验的能跑的代码!!!(一万头草泥马~)

然而我们没有办法,只能先去百度,呵呵,没解决。

然后我search了stack overflow,找到了一个大部分人都认同的解决办法,但是

步骤巨多巨麻烦,我就做一点微不足道的小事,这投入与产出不成正比。

网址贴出来,有兴趣的看官可以试试

http://stackoverflow.com/questions/6649363/microsoft-ace-oledb-12-0-provider-is-not-registered-on-the-local-machine

最后,这个问题是通过退化解决的,用access2016打开文件后另存为2000的格式(.mdb)

然后将最上面的代码改为

string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=";

然后文件名再改一下就可以啦~~~~

完结撒花23333333333

你可能感兴趣的:(关于C#联接数据库是出现'未在本地计算机上注册'错误的解决办法)