【问题标题】:Microsoft.Jet.OLEDB.4.0 error on Azure Cloud ServiceAzure 云服务上的 Microsoft.Jet.OLEDB.4.0 错误
【发布时间】:2013-08-01 06:52:50
【问题描述】:

我的要求是将excel文件上传到网站根目录下的文件夹,然后将该文件的数据读入数据表中。

这在我现有的托管服务提供商上运行良好。但现在我已经在 Windows Azure 云服务上上传了我的网站。移植到 Azure 云服务后,“Microsoft.Jet.OLEDB.4.0”提供程序出现错误。

我使用“Microsoft.Jet.OLEDB.4.0”提供程序从 excel 文件中读取数据并将数据添加到数据表中。它在本地也可以正常工作,但是当我在 azure 云服务上托管我的 Web 应用程序时,它会生成以下错误

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

请看几行代码:

string strpath = Server.MapPath(OAppPath);
                    strpath = strpath + "\\MYDATAFOLDER\\" + System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName);

                    FileUpload1.PostedFile.SaveAs(strpath);

                    string excelConnectionString = "";
                    excelConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strpath +
                                            ";Extended Properties=\"Excel 8.0;;IMEX=1;HDR=yes\"";
                    var connection = new OleDbConnection(excelConnectionString);
                    connection.Open();
                    var dtSheets = new DataTable();
                    dtSheets = connection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                    GC.Collect();
                    GC.WaitForPendingFinalizers();

什么是替代解决方案?

我也看过以下内容:

Link 1 Link 2

谢谢 卡皮尔

【问题讨论】:

    标签: azure oledbexception


    【解决方案1】:

    这可能是因为您的应用程序运行在 64 位模式下。据微软称,The Microsoft OLE DB Provider for Jet and the Microsoft Access ODBC driver are available in 32-bit versions only

    How to get a x64 version of Jet?中所述:

    Microsoft Jet 数据库引擎 4.0 组件进入了功能弃用和持续工程的状态,并且自从在 Windows 2000 中成为 Microsoft Windows 的一部分后,还没有获得功能级别的增强。

    另一种方法是在您的云服务中使用startup task 来部署Microsoft Access Database Engine 2010 Redistributable。您必须将连接字符串更改为此新驱动程序支持的格式。

    我成功使用的另一种方法是使用诸如ExcelDataReader 之类的库来读取电子表格数据。

    【讨论】:

    • Fernando,我已经在我的云工作者上安装了可再发行包 - 但是我得到了相同的错误(与 OP 一样) - “错误'Microsoft.Jet.OLEDB.4.0' 提供程序未注册本地机器”我还需要做些什么来完成这项工作(我知道自 2013 年以来 Azure 发生了很多变化)
    猜你喜欢
    • 1970-01-01
    • 2012-09-05
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多