Попытка открыть лист Excel в C #, но получение провайдера не установлено - PullRequest
1 голос
/ 15 апреля 2019

Я установил 64-битную версию ACE, но по какой-то причине она не работает. Я продолжаю получать провайдера, не зарегистрированного на машине. Я использую следующую строку подключения.

OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.16.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0'");

Нужно ли что-то дополнительное, чтобы использовать 64-битную версию?

1 Ответ

2 голосов
/ 15 апреля 2019

При настройках проекта по умолчанию приложения .NET, скомпилированные как двоичные файлы «Любой ЦП», будут работать как 32-битные процессы даже в 64-битной Windows. Не уверен, почему, возможно, некоторые старые причины совместимости.

Очень легко изменить. Откройте свойства проекта, вкладку «Построить» и снимите флажок «Предпочитать 32-битный». Если этот флажок не установлен, ваше приложение будет выполняться как 64-битный процесс в 64-битных ОС, а затем вы получите 64-битную версию ACE, которую вы установили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...