Ola pessoal, faz algum tempo que não escrevo nada, como falei no inicio do blog, não tenho muita paciencia para escrever 😛
Mas recentemente tive uma experiência e gostaria de compartilhar com vocês. Apesar de não ser especialista em ORACLE (Na verdade eu odeio ORACLE), mas como DBA SQL Server, muitas vezes necessitamos fazer um extração de dados do ORACLE para o SQL Server, ou criar um linked server. Sempre tive problemas com a instalação do client do ORACLE, mas desta vez encontrei um site que traz um guia detalhado da instalação. Segue abaixo as dicas:
A solução abaixo é baseada no Oracle 11g version, você pode fazer o download do link abaixo
http://www.oracle.com/technology/software/products/database/index.html
Baixe os 2 clientes Oracle 32bits e 64bits
Se você já tiver um client oracle faça o backup dos arquivos tnsnames.ora e sqlnet.ora que ficam na pasta (%ORACLE_HOME%/network/ADMIN/.)
Desinstale e Delete versões antigas dos clients e reboote o servidor. (Talvez você precise reiniciar o servidor para apagar as pastas do ORACLE client
Rode o setup.exe do Cliente 32bits (Antes do 64bits)
Selecione “Custom” e no “Select Installation Type”
Selecione Oracle Base and Path.
Você precisa instalar os itens abaixo
UPDATE: Instale também o “Oracle Service for Microsoft Transaction Server” para poder usar a feature de transação
Depois da instalação restaure o TNSNAMES.ORA na nova pasta (%ORACLE_HOME%/network/admin).
Repita os passos acima para a instalação do client Oracle 11g 64 bits
o diretório base é o mesmo do 32 bits, mas o Path é diferente
Oracle 32bit Client Path: C:/Oracle/product/11.1/client_32,
Oracle 64bit Client Path: C:/Oracle/product/11.1/client_64.
Talvez você veja uma mensagem “OracleMTSRecoveryService already exists” selecione “Ignore”
Eu sei que ninguém gosta de mudar o Registry em uma maquina de produção mas acredite em mim, é necessário mudar o registry
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTxOCI and
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSDTC\MTxOCI
- OracleOciLib = oci.dll
- OracleSqlLib = orasql11.dll (old: SQLLib80.dll)
- OracleXaLib = oraclient11.dll (old: xa80.dll)
Você pode testar usando sqlplus.exe or tnsping.exe no command prompt.
Agora você pode acessar o Oracle OLEDB provider no BIDS (Business Intelligence Development Studio) e SSMS (SQL Server Management Studio)
Lembre-se de uma coisa
BIDS é baseado em Visual Studio 32bit modules. Quando você desenvolve um pacote SSIS vc usa o modulo 32bit do Oracle OLEDB .
Quando você roda o pacote em um ambiente 64bit.
NOTA1:
Quando você estiver desenvolvendo você pode receber a mensagem de warning que pode ser ignorado: “Warning: Cannot retrieve the column code page info from OLE DB…”.
NOTA2:
Você pode receber a mensagem “Cannot obtain the required interface (“IID_IDBSchemaRowset”) from OLE DB Provider “OraOLEDB.Oracle” for linked server XXX (Error:7399)”.
Para resolver isso abra as propriedades do provider OraOLEDB.Oracle, e ative “Enable” for “Allow inprocess” usando o caminho Instance>>Sever Objects>>Linked Servers>>Providers>>OraOLEDB.Oracle
Caso queiram ver o post original em inglês
http://knol.google.com/k/accessing-oracle-from-64bit-sql-server-or-ssis#
Esse deu trabalho!!!
Parabens!
Cara.. parabéns.. excelente Post, ajudou bastante.
Que mundo pequeno não?? Olha quem achei por aqui… KKK
Ótimo post!
Obrigada!!!
Parabéns =)
Apesar de ser um topico antigo, foi o que mais me ajudou.