08
2015
05

Microsoft.Jet.OLEDB.12.0的供应商不是在本地机器上注册。问题解决

错误代码:The 'Microsoft.Jet.OLEDB.12.0' provider is not registered on the local machine.

翻译后是:Microsoft.Jet.OLEDB.12.0的供应商不是在本地机器上注册。

未能找到OLEDB,需要下载“Microsoft Access 2010 数据库引擎可再发行程序包”,下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=13255

根据自己系统的版本

32位的下载:http://download.microsoft.com/download/E/4/2/E4220252-5FAE-4F0A-B1B9-0B48B5FBCCF9/AccessDatabaseEngine.exe

64位的下载:http://download.microsoft.com/download/E/4/2/E4220252-5FAE-4F0A-B1B9-0B48B5FBCCF9/AccessDatabaseEngine_X64.exe

安装后,重启电脑即可

程序里面需要进行一个判断:

public string getExcelFormat(string type, string path)
{
    string mystring = "";
    if (type == ".xls")//导入格式
    {
        mystring = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'", path);
    }
    else
    {
        mystring = string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'", path);
    }
    return mystring;
}


« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。