Назад |
Перейти на главную страницу
Как установить драйверы Oracle OLE для использования в SQL Server 2008 R2 x64
В соответствии со стандартной процедурой, которую мы использовали в течение многих лет для предыдущих версий Oracle и SQL Server, я установил последний пакет Oracle ODAC, который включает драйвер Oracle OLE, на наши новые узлы SQL Server 2008 R2 x64. Я выполнил рекомендованную перезагрузку системы, но OraOLEDB.Oracle не отображается в узле Связанные серверы \ Провайдеры в SSMS. Единственная разница между этой установкой и предыдущими установками SQL Server заключается в том, что теперь я использую SQL Server x64 (в Windows 2008 R2). Должно ли это иметь значение?
Обратите внимание, что я могу подключаться к серверам Oracle с помощью SQL * Plus напрямую с узлов SQL Server. Единственное, чего мне не хватает, это Provider. Кто-нибудь знает, что мне не хватает? В сети много сообщений, но, похоже, много путаницы и устаревших ссылок на страницу загрузки Oracle.
ЕДИНСТВЕННОЕ, что мне нужно сделать, - это создать связанный сервер с Oracle и выполнять для него запросы выбора. Мне не нужно ничего делать через Visual Studio.
После нескольких часов исследований мне удалось собрать несколько рабочих инструкций для Oracle 11g R2. Как оказалось, вам, скорее всего, потребуются установленные как 32-разрядные, так и 64-разрядные клиенты, чтобы все работало в BIDS / Visual Studio / SSMS. Возможно, я установил больше компонентов Oracle, чем нужно, но вот что у меня сработало:
- Загрузите 32- и 64-битные клиенты из http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html (нажмите «просмотреть все», чтобы увидеть разные версии, в противном случае вы загрузите полную программу Oracle. Каждая загрузка должна составлять около 600 мегабайт)
- Запустите 32-разрядную установку на SQL Server. Выберите "Пользовательский"
- Для Oracle Base введите "C: \ Oracle"
- Для «Расположение программного обеспечения» измените на C: \ Oracle \ product \ 11.2.0 \ client_32
- Выберите следующие компоненты:
- SQL * Plus
- Интерфейс вызова Oracle (OCI)
- Oracle Net
- Службы Oracle для Microsoft Transaction Server
- Помощник по администрированию Oracle для Windows
- Поставщик Oracle для OLE DB
- Поставщик данных Oracle для .NET
- Поставщики Oracle для ASP.NET
- Повторите вышеуказанные шаги с 64-битным установщиком. ОДНАКО измените "Расположение программного обеспечения" на C: \ Oracle \ product \ 11.2.0 \ client_64
- В этот момент у меня возникла ошибка памяти, но я решил проигнорировать ее, поскольку знаю, что ее достаточно
- Игнорируйте ошибку "OracleMTSRecoveryService уже существует"
Теперь, когда установка завершена, нужно просто настроить несколько вещей.
- Внесите изменения в реестр в HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCI
- OracleOciLib должен быть oci.dll
- OracleSqlLib должен быть orasql11.dll
- OracleXaLib должен быть oraclient11.dll
- Делать тем же изменения реестра в HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSDTC \ MTxOCI
- Создайте или скопируйте новый tnsnames.ora в C: \ Oracle \ product \ 11.2.0 \ client_32\ сеть \ админ
- Создайте или скопируйте новый tnsnames.ora в C: \ Oracle \ product \ 11.2.0 \ client_64\ сеть \ админ
- Перезагрузка!
- Теперь вы должны увидеть OraOLEDB.Oracle в качестве поставщика в разделе Связанные серверы \ Провайдеры в SSMS.
- Щелкните этого поставщика правой кнопкой мыши, затем выберите «Свойства» и установите флажок «Разрешить выполнение».
- Теперь вы можете создать связанный сервер через графический интерфейс или T-SQL.
Удачи!
Да, архитектура системы делает много разницы.
Вам необходимо установить клиентское программное обеспечение Oracle x64 для Windows.