OraOLEDB.Oracle не отображается в списке провайдеров для SSMS
Я пытаюсь использовать поставщика OraOLEDB.Oracle для SQL Server Management Studio в центре обработки данных Windows Server 2008 R2, 64-разрядная версия.
Что я сделал, это:
- Установил 32- и 64-битную версию для провайдера (версия ODAC со страницы Oracles) с помощью командной строки от имени администратора:
.\install.bat oledb c:\oracle\odac64 odac64 true
для 64 бит. - Добавлен путь оракула 32 и 64 в переменные среды.
- Запустить снова.
Тогда поставщик не указан в 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, чтобы проверить самостоятельно. Смотрите здесь для получения дополнительной информации.