OraOLEDB.Oracle не отображается в списке провайдеров для SSMS

Я пытаюсь использовать поставщика OraOLEDB.Oracle для SQL Server Management Studio в центре обработки данных Windows Server 2008 R2, 64-разрядная версия.

Что я сделал, это:

  1. Установил 32- и 64-битную версию для провайдера (версия ODAC со страницы Oracles) с помощью командной строки от имени администратора: .\install.bat oledb c:\oracle\odac64 odac64 true для 64 бит.
  2. Добавлен путь оракула 32 и 64 в переменные среды.
  3. Запустить снова.

Тогда поставщик не указан в Management Studio.

Я также создал файл UDL, но этот файл действительно появился там.

Я пытался зарегистрировать их regsvr32 orasql12.dll для 64 бит и c:\windows\syswow64\regsvr32.exe orasql12.dll для 32 бит, но я получил следующую ошибку:

Модуль "orasql12.dll" не удалось загрузить. Убедитесь, что двоичный файл хранится по указанному пути, или отладьте его, чтобы проверить наличие проблем с двоичными или зависимыми файлами.DLL.

Однако установщик должен был зарегистрировать обоих провайдеров, поэтому я не думаю, что это проблема.

Есть идеи по этому поводу?

2 ответа

Решение

Я снова начал исследовать и нашел решение здесь

Я думаю, что это происходит только для Windows Server.

Нам нужно зарегистрировать OraOLEdb12.dll вместо этого, который находится в каталоге bin следующее:

regsvr32 c:\oracle\odac64\bin\OraOLEDB12.dll

PD: Отличный инструмент в том, что Dependency Walker, я попробовал это и дал мне очень полезную информацию!

Ошибка исходит от regsvr32 а значит orasql12.dll имеет зависимость, которая не удовлетворена. Перепроверьте с документацией. Вот что я нашел:

Системные Требования

Для использования Oracle Provider for OLE DB в системе требуются следующие элементы:

  • Windows 98, Windows NT 4.0, Windows 2000 или Windows XP
  • Доступ к серверу Oracle (выпуск 8 или новее)
  • Oracle Net Services
  • Вторично распространяемые файлы, предоставляемые с компонентами доступа к данным Microsoft (MDAC) 2.1 или выше, требуются поставщиком. Эти файлы доступны на веб-сайте Microsoft: http://www.microsoft.com/data/oledb/.
  • Oracle Services for Microsoft Transaction Server (выпуск 9.0). Этот пункт необходим для потребителей, использующих Microsoft Transaction Server (MTS) или COM+.

Я также нашел ветку на форумах Oracle:

После еще одного исследования я нашел проблему в моей проблеме. В файле readme.htm, который находится в папке разархивированных 64-разрядных провайдеров, объясняется, что после установки файлов с помощью install.bat вам нужно поместить расположение установленных файлов в переменную PATH для Windows. Например, если вы используете файл install.bat для установки файлов в C:\Oracle, вам нужно поместить пути "C:Oracle" и C:\Oracle\bin"в переменную PATH. Вы можете найти эту переменную щелкнув правой кнопкой мыши на "Мой компьютер" и выбрав "Свойства" (для пользователей Windows Vista/7 щелкните правой кнопкой мыши "Компьютер", затем "Свойства", а затем "Дополнительные параметры системы"). Перейдите на вкладку "Дополнительно" и нажмите кнопку "Переменные среды". В списке Системные переменные вы Я найду переменную PATH. Надеюсь, это поможет кому-то еще.... Я работал над тем, чтобы заставить поставщика oledb работать несколько дней...

Вы также можете использовать Dependency Walker, чтобы проверить самостоятельно. Смотрите здесь для получения дополнительной информации.

Другие вопросы по тегам