Доступ к базе данных движка OLEDB в Windows Server 2016 - PullRequest
2 голосов
/ 02 апреля 2019

У меня есть приложение, в котором используется драйвер Microsoft ACE OLEDB 12.0, и, следовательно, я установил драйвер системы Office 2007: компоненты подключения данных в моей системе.

Я также создал пакеты служб SSIS для извлечения данных из файлов Excel и CSV, которые вставляются в таблицы SQL с помощью Microsoft ACE OLEDB 12.0. Ниже моя строка подключения

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

Я хотел переместить эти приложения в среду сервера для развертывания, и когда я обратился к ИТ-специалисту с просьбой установить системный драйвер Office 2007, они сказали, что он не поддерживается в Windows Server 2016 и имеют уязвимости безопасности.

Следовательно, я хотел знать, есть ли у нас какой-либо альтернативный поставщик Microsoft OLEDB для работы служб SSIS? Я попытался установить Office 2010, однако получил сообщение об ошибке

Microsoft OLEDB 12.0 не зарегистрирована на моей машине.

Поможет ли установка Microsoft Access Database Engine 2016 Redistribuble мне помочь в решении проблемы. Если да, то какой будет моя строка подключения. Правильно ли указано ниже?

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

Office 2016 oledb также не поддерживается в Windows Server 2016. Следовательно, какие уязвимости будут возникать при установке Office 2007 или 2016 на Windows Server 2016?

Любая помощь будет высоко оценена.

1 Ответ

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

Microsoft OLEDB 12.0 не зарегистрирован на моей машине.

Поскольку вы установили Access Database Engine 2010 и получили сообщение об ошибке выше, похоже, это проблема 32/64 бита.

Убедитесь, что вы установили оба распространяемых пакета 32 и 64.

Если вам необходимо установить AccessDataBaseEngine x64 вместе с 32-разрядной установкой, вам нужно запустить установку в пассивном режиме :

Этапы установки в пассивном режиме

  1. Откройте командную строку, набрав cmd в поле поиска Windows под меню «Пуск» и выбрав cmd.exe
  2. Введите путь к файлу и имя файла установки 64-разрядного Access Database Engine 2010, затем пробел и /passive (при этом установка запускается без сообщений об ошибках).
  3. Откройте редактор реестра, набрав regedit в поле поиска Windows под меню «Пуск» и выбрав regedit.exe
  4. Удалите или переименуйте значение реестра mso.dll в следующем разделе реестра:

    "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Common\FilesPaths" 
    

Более подробную информацию и скриншоты можно найти по ссылке ниже

Ссылка

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