Como instalar drivers Oracle OLE para uso no SQL Server 2008 R2 x64

10

Conforme o procedimento padrão que usamos há anos para versões anteriores do Oracle e do SQL Server, instalei o pacote ODAC mais recente da Oracle, que inclui o driver Oracle OLE em nossos novos nós x64 do SQL Server 2008 R2. Fiz a reinicialização recomendada do sistema, mas o OraOLEDB.Oracle não aparece no nó Servidores vinculados \ Provedores no SSMS. A única diferença entre esta instalação e as instalações anteriores do SQL Server é que agora estou usando o SQL Server x64 (no Windows 2008 R2). Isso deve fazer alguma diferença?

Observe que eu posso me conectar aos servidores Oracle usando o SQL * Plus diretamente dos nós do SQL Server. A única coisa que me falta é esse provedor. Alguém sabe o que estou perdendo? Existem muitas publicações na web, mas parece haver muita confusão e links desatualizados para a página de download da Oracle.

A única coisa que preciso fazer é criar um servidor vinculado ao Oracle e executar consultas selecionadas nele. Não preciso fazer nada pelo Visual Studio.

SomeGuy
fonte
Tenho uma resposta mais simples de como fazer isso, mas envolve os drivers Oracle 12 e o SQL Server 2012. Devo adicionar uma resposta a esta pergunta ou fazer uma nova pergunta?
Baodad 7/08/19

Respostas:

15

Após horas de pesquisa, consegui juntar algumas instruções de trabalho para o Oracle 11g R2. Como se vê, você provavelmente precisará dos clientes de 32 e 64 bits instalados para que as coisas funcionem no BIDS / Visual Studio / SSMS. Talvez eu tenha instalado mais componentes Oracle do que eu precisava, mas eis o que funcionou para mim:

  1. Faça o download de clientes de 32 e 64 bits em http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html (clique em "ver tudo" para ver versões diferentes. Caso contrário, você estará baixando o programa Oracle completo. Seus downloads devem ter cerca de 600 meg cada)
  2. Execute a instalação de 32 bits no SQL Server. Selecione "Personalizado"
  3. Para o Oracle Base, digite "C: \ Oracle"
  4. Para "Localização do software", altere para C: \ Oracle \ product \ 11.2.0 \ client_ 32
  5. Escolha os seguintes componentes:
  6. SQL * Plus
  7. Interface de Chamada Oracle (OCI)
  8. Oracle Net
  9. Serviços Oracle para Microsoft Transaction Server
  10. Assistente de Administração Oracle para Windows
  11. Provedor Oracle para OLE DB
  12. Provedor de Dados Oracle para .NET
  13. Provedores Oracle para ASP.NET
  14. Repita as etapas acima com o instalador de 64 bits. NO ENTANTO, altere o "Local do software" para C: \ Oracle \ product \ 11.2.0 \ client_ 64
  15. Recebi um erro de memória neste momento, mas optei por ignorá-lo, pois sei que há o suficiente
  16. Ignore o erro "OracleMTSRecoveryService já existe"

Agora que a instalação está concluída, basta ajustar algumas coisas.

  1. Faça alterações no registro para HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ MSDTC \ MTxOCI
  2. OracleOciLib deve ser oci.dll
  3. OracleSqlLib deve ser orasql11.dll
  4. OracleXaLib deve ser oraclient11.dll
  5. Faça as mesmas alterações no Registro para HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ MSDTC \ MTxOCI
  6. Crie ou copie um novo tnsnames.ora em C: \ Oracle \ product \ 11.2.0 \ client_ 32 \ network \ admin
  7. Crie ou copie um novo tnsnames.ora em C: \ Oracle \ product \ 11.2.0 \ client_ 64 \ network \ admin
  8. Reinicie!
  9. Agora você deve ver o OraOLEDB.Oracle como um provedor em Servidores vinculados \ Provedores no SSMS
  10. Clique com o botão direito do mouse nesse provedor, em Propriedades e marque a caixa "Permitir processo"
  11. Agora você pode criar um servidor vinculado por meio da GUI ou T-SQL

Boa sorte!

SomeGuy
fonte
1
Eu tive o mesmo problema (Sql Server 2008 R2 64x ao conectar-se a um Oracle 8) e resolvi-o seguindo suas instruções. Felizmente, eu apenas tive que instalar o cliente de 64 bits. Obrigado!
111310 santiiiii
Eu o instalei sem o SQL * Plus e o Administration Assistant, e sem as alterações do registro em uma máquina x64 e funcionou.
Gabriel Guimarães
Oi @SomeGuy Posso usar sua instrução com 12c também graças
Willie Cheng
Atenção ao tamanho do download - 3,1 GB para o Oracle Client para Windows x64 mais recente versão 19C.
Mike
0

Sim, a arquitetura do sistema faz muita diferença.

Você precisa instalar o software cliente Oracle x64 para Windows.

Massimo
fonte
Não consigo encontrar componentes x64 para 11g no site da Oracle sem baixar o cliente x64 inteiro, de 2 GB. O ODAC parece apenas subir 10g. Alguém mais está percebendo isso? Vou tentar o cliente completo por enquanto, mas nunca tive que fazer isso antes. Talvez eles estejam lançando o ODAC 11g para x64 no futuro.
SomeGuy
O cliente tem ~ 615 MB, o pacote de 2 GB é o produto completo; veja aqui: oracle.com/technetwork/database/enterprise-edition/downloads/… .
Massimo
2
@SomeGuy, na verdade, existe ODAC para 11g, você não conseguiu encontrá-lo porque o site da Oracle está uma bagunça.
Gabriel Guimarães