Поставщик Microsoft.ACE.OLEDB.12.0 не зарегистрирован на локальном компьютере MS Azure. (Конкретный ответ) - PullRequest
0 голосов
/ 07 мая 2019

Мне нужно решить эту проблему: поставщик «Microsoft.ACE.OLEDB.12.0» не зарегистрирован на локальном компьютере.

Я видел много ответов в StackOver, но ни один из них не очень полезен,в основном проблема в веб-приложении MS Azure.Я ищу что-то, что поможет решить эту проблему и / или другое решение, которое позволяет использовать файл Excel в веб-приложении.

Как я могу решить эту проблему?Пожалуйста, кто-нибудь может мне помочь с конкретным ответом?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 08 мая 2019

Спасибо всем, кто мне помог.

Я нашел решение самостоятельно. Проблема в том, что MS Azure не разрешает Microsoft.ACE.OLEDB.12.0, поэтому мы можем использовать файл Excel, но изменив конфигурацию в web.config на Microsoft.Jet.OLEDB.4.0, это два способа использования они:

<add name="Excel07ConString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES'" />
<add name="Excel03ConString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR=YES'"/>

Первый предназначен для расширения .xlsx (MS Excel 2007, НЕ РАЗРЕШЕНО MS Azure). Второй - для расширения .xls (MS Excel 2003, РАЗРЕШЕНО MS Azure).

Это решение без изменения кода или каких-либо изменений в процессе разработки. В коде мы можем использовать что-то вроде этого:

string conString = string.Empty;
            switch (extension)
            {
                case ".xls": //Excel 97-03
                    conString = ConfigurationManager.ConnectionStrings["Excel03ConString"].ConnectionString;
                    break;
                case ".xlsx": //Excel 97-03.
                    conString = ConfigurationManager.ConnectionStrings["Excel07ConString"].ConnectionString;
                    break;
            }

Это позволит нам работать в DEV и PROD, как только мы закончим с нашим кодом. Наконец, веб-приложение в Azure должно работать правильно, помня, что мы должны использовать расширение .xls (MS Excel 2003).

0 голосов
/ 08 мая 2019

другое решение, которое позволяет использовать файл Excel в веб-приложении.

Вы можете попробовать EPPlus в качестве альтернативы чтению / записи файлов в вашем веб-приложении..

EPPlus - это библиотека .NET, которая читает и записывает файлы Excel в формате Office Open XML (xlsx).EPPlus не имеет никаких зависимостей, кроме .NET.

Эта библиотека может быть более многофункциональной, чем вам нужно, но она должна удовлетворить ваш вариант использования.

...