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

  • 问题

  • 装有WIN 10系统,按装Office 2019软件,同时还安装了Windows SQL server 2014版本数据,Office 2019软件生成的电子数据(.xlsx),在导入Windows SQL server 2014数据时,出错,错误信息(未在本地计算机上注册“Microsoft.ACE.DEDB.12.0”提供程序)成终止。
    2021年2月3日 15:10

全部回复

  • 你好,

    根据你的错误,你需要检查下是否安装了下面的软件。

    Microsoft Access Database Engine 2010 Redistributable

    如果已安装,你需要检查下你的连接字符串是否正确,可以看下下面的示例。

    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls;Extended Properties="Excel 8.0;HDR=YES";

    希望可以帮到你。

    Best Regards,

    Jack


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2021年2月4日 1:37
  • 依你提供的地址,刚刚安装AccessDatabaseEngine_X64,故障依旧,问题还没有解决。想提供截图,本贴提交不上截图。
    2021年2月4日 2:03
  • 你好,

    根据我的最新的测试,你在安装完AccessDatabaseEngine.exe 之后,需要将Platform 从Anycpu改成X64就能成功运行代码。

    下面是我的测试代码,你可以看下

            private void button1_Click(object sender, EventArgs e)
            {
                string path ="test1.xlsx";
                using (OleDbConnection conn = new OleDbConnection())
                {
                    DataTable dt = new DataTable();
                    conn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path+ ";Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1;MAXSCANROWS=0'";
                    using (OleDbCommand comm = new OleDbCommand())
                    {
                        comm.CommandText = "Select * from [" + "Sheet1" + "$]";
                        comm.Connection = conn;
                        using (OleDbDataAdapter da = new OleDbDataAdapter())
                        {
                            da.SelectCommand = comm;
                            da.Fill(dt);
                            dataGridView1.DataSource = dt;
    
                        }
                    }
                }
            }

    Best Regards,

    Jack


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2021年2月5日 7:31
  • 你好,你的回复已看到,关于“
    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myOldExcelFile.xls;Extended Properties="Excel 8.0;HDR=YES";不明白,是在什么环境下运行或查看吗,能说的清楚些吗?
    2021年2月5日 13:30
  • 你的这段代码在哪运行呀,能说详细些吗?
    2021年2月5日 13:41
  • 你好,

    >>你的这段代码在哪运行呀,能说详细些吗

    我的代码是在winform应用程序运行的,作用是将xlsx文件转换为datagiridview中的数据。

    关于Extended Properties=Excel 8.0或者Extended Properties=Excel 12.0 Xml

    目前的解释是这样的,如果你使用的excel文件是97-2003以xls结尾的文件,则使用Excel 8.0,如果你使用的是以xlsx为结尾的文件,则需要使用Excel 12.0 xml。

    Best Regards,

    Jack


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2021年2月8日 6:28