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

9

De acordo com o procedimento padrão que usamos há anos para versões anteriores do Oracle e do SQL Server, eu instalei o pacote ODAC mais recente da Oracle, que inclui o driver Oracle OLE em nossos novos nós SQL Server 2008 R2 x64. Eu realizei a reinicialização recomendada do sistema, mas o OraOLEDB.Oracle não é exibido no nó Servidores vinculados \ Providers no SSMS. A única diferença entre essa 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 consigo me conectar aos servidores Oracle usando o SQL * Plus diretamente dos nós do SQL Server. A única coisa que sinto falta é o Provedor. Alguém sabe o que estou perdendo? Existem muitas postagens na web, mas parece haver muita confusão e links desatualizados para a página de download da Oracle.

A única coisa que eu preciso ser capaz de fazer é criar um servidor vinculado ao Oracle e executar consultas selecionadas contra ele. Eu não preciso fazer nada através do Visual Studio.

    
por SomeGuy 27.08.2010 / 15:24

2 respostas

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

  1. Faça o download de clientes de 32 e 64 bits do link (clique em "ver" todos "para ver versões diferentes, caso contrário, você estará baixando o programa Oracle completo. Seus downloads devem ser de cerca de 600 meg cada)
  2. Execute a instalação de 32 bits no SQL Server. Selecione "Personalizado"
  3. Para o Oracle Base, insira "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 da Oracle (OCI)
  8. Oracle Net
  9. Serviços Oracle para o Microsoft Transaction Server
  10. Assistente de administração do Oracle para Windows
  11. Provedor Oracle para OLE DB
  12. Oracle Data Provider para .NET
  13. Provedores Oracle para ASP.NET
  14. Repita as etapas acima com o instalador de 64 bits. CONTUDO, mude o "Local do Software" para C: \ Oracle \ product \ 11.2.0 \ client_ 64
  15. Eu tenho um erro de memória neste momento, mas escolhi 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. Fazer alterações no registro em 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 alterações de registro same em 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, em seguida, marque a caixa para "Permitir processamento"
  11. Agora você pode criar um servidor vinculado por meio da GUI ou do T-SQL

Boa sorte!

    
por 27.08.2010 / 22:00
0

Sim, a arquitetura do sistema faz muito de diferença.

Você precisa instalar o software cliente x64 para Oracle.

    
por 27.08.2010 / 15:41