Как установить драйверы Oracle OLE для использования в SQL Server 2008 R2 x64

10

В соответствии со стандартной процедурой, которую мы годами использовали для предыдущих версий 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. Единственное, чего мне не хватает - это провайдера. Кто-нибудь знает, что мне не хватает? В Интернете есть много постов, но, похоже, много путаницы и устаревших ссылок на страницу загрузки Oracle.

Единственное, что мне нужно сделать, - это создать связанный сервер с Oracle и выполнить к нему запросы на выборку. Мне не нужно ничего делать через Visual Studio.

Какой-то парень
источник
У меня есть более простой ответ, как это сделать, но он касается драйверов Oracle 12 и SQL Server 2012. Должен ли я добавить ответ на этот вопрос или задать новый вопрос?
Baodad

Ответы:

15

После нескольких часов исследований мне удалось собрать воедино некоторые рабочие инструкции для Oracle 11g R2. Как выясняется, для работы в BIDS / Visual Studio / SSMS вам, вероятно, потребуются как 32-разрядные, так и 64-разрядные клиенты. Возможно, я установил больше компонентов Oracle, чем мне было нужно, но вот что сработало для меня:

  1. Загрузите 32- и 64-разрядные клиенты с http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html (нажмите «увидеть все», чтобы увидеть разные версии, в противном случае вы будете загружать полная программа Oracle. Ваши загрузки должны быть около 600 мег каждая)
  2. Запустите 32-разрядную установку на SQL Server. Выберите «Custom»
  3. Для Oracle Base введите «C: \ Oracle»
  4. В поле «Местоположение программного обеспечения» выберите C: \ Oracle \ product \ 11.2.0 \ client_ 32.
  5. Выберите следующие компоненты:
  6. SQL * Plus
  7. Интерфейс вызова Oracle (OCI)
  8. Oracle Net
  9. Oracle Services for Microsoft Transaction Server
  10. Oracle Administration Assistant для Windows
  11. Поставщик Oracle для OLE DB
  12. Поставщик данных Oracle для .NET
  13. Поставщики Oracle для ASP.NET
  14. Повторите вышеуказанные шаги с 64-битным установщиком. ОДНАКО, измените «Местоположение программного обеспечения» на C: \ Oracle \ product \ 11.2.0 \ client_ 64
  15. В этот момент я получил ошибку памяти, но решил проигнорировать ее, так как знаю, что достаточно
  16. Игнорировать ошибку «OracleMTSRecoveryService уже существует»

Теперь, когда установка завершена, нужно лишь немного подправить.

  1. Внесите изменения в реестр: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCI
  2. OracleOciLib должен быть oci.dll
  3. OracleSqlLib должен быть orasql11.dll
  4. OracleXaLib должен быть oraclient11.dll
  5. Внесите те же изменения в реестр, что и HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSDTC \ MTxOCI
  6. Создайте или скопируйте новый файл tnsnames.ora в C: \ Oracle \ product \ 11.2.0 \ client_ 32 \ network \ admin
  7. Создайте или скопируйте новый файл tnsnames.ora в C: \ Oracle \ product \ 11.2.0 \ client_ 64 \ network \ admin
  8. Перезагрузка!
  9. Теперь вы должны увидеть OraOLEDB.Oracle в качестве поставщика в разделе Связанные серверы \ Поставщики в SSMS.
  10. Щелкните правой кнопкой мыши этого поставщика, затем Свойства, затем установите флажок «Разрешить Inprocess»
  11. Теперь вы можете создать связанный сервер через графический интерфейс или T-SQL

Удачи!

Какой-то парень
источник
1
У меня была та же проблема (соединение Sql Server 2008 R2 64x с Oracle 8), и я решил ее, следуя вашим инструкциям. К счастью, мне просто нужно было установить 64-битный клиент. Спасибо!
santiiiii
Я установил его без SQL * Plus и Ассистента администрирования, а также без изменений в реестре на компьютере x64, и это сработало.
Габриэль Гимарайнш
Привет @SomeGuy Могу ли я использовать вашу инструкцию с 12c тоже спасибо
Вилли Ченг
Напротив, размер загружаемого файла - 3,1 ГБ для последней версии Oracle Client для Windows x64 версии 19C.
Майк
0

Да, архитектура системы имеет большое значение.

Вам необходимо установить клиентское программное обеспечение Oracle x64 для Windows.

Massimo
источник
Я не могу найти компоненты x64 для 11g на сайте Oracle без загрузки всего клиента x64, который составляет 2 ГБ. ODAC только кажется, доходит до 10 г. Кто-нибудь еще замечает это? Я пока попробую полный клиент, но мне никогда не приходилось делать это раньше. Возможно, в будущем они выпустят ODAC 11g для x64.
SomeGuy
Клиент ~ 615 МБ, пакет 2 ГБ - полный продукт; смотрите здесь: oracle.com/technetwork/database/enterprise-edition/downloads/… .
Массимо
2
@ SomeGuy на самом деле есть ODAC для 11g, вы не можете найти его, потому что веб-сайт оракула беспорядок.
Габриэль Гимарайнш