Ola!!!

Finalmente vou postar meu primeiro post que acredito que possa agregar algum tipo de valor!  Então, sem mais delongas, vamos aos fatos.

Frequentemente as pessoas me procuram para “resolver” algum tipo de problema com client de oracle[bb]. Resolvi, fazer esse post por se tratar de um assunto recorrente e apesar da solução ser bastante simples, o problema acaba impactando bastante (principalmente no processo de implantação).

Mas afinal, qual é o problema ?

Essa é a pergunta que eu sempre faço, e que em quase 100% dos casos eu recebo como resposta: “Não consigo conectar no oracle”.

Daí tenho que refazer a pergunta para “Qual a mensagem de erro que ocorre?”
As respostas são absurdamente variadas, porém com pouco tempo de verificação constata-se que os problemas são normalmente os mesmos!

Existem duas causas “principais”, são elas:

  • Client de Oracle não instalado ou instalado incorretamente
  • Configuração de TNSNAMES.ORA

Cada  problema desses tem suas peculiaridades, ou seja, a solução nem sempre é unica, o sintoma muitas vezes é o mesmo, porém a solução pode variar de caso para caso.

Este post, limita-se a apresentar um solução para mensagens de erro semelhantes aos abaixo:

System.Data.OracleClient requires Oracle client software version 8.1.7 or greater.

 Provedor não encontrado. É possível que ele não esteja instalado corretamente.

 

Vou apresentar uma das formas de resolver os dois problemas apresentados acima, vamos utilizar um recurso que já esta disponível na instalação do client do Oracle, mas que poucos sabem da sua importância.

Neste post vamos falar exclusivamente do problema de “falta de provedor” (client oracle) ao tentar acessar uma aplicação feita em Delphi ou C#.

Vamos aos passos:

1) Primeiro passo é identificar a versão do Banco de dados e instalar um client compatível. (Download disponível no site da Oracle http://ads.tt/W4TPQw)

2) Após baixar o client compatível com o banco que se deseja conectar, vamos iniciar a instalação e seguir os passos abaixo:

3) Selecionar a opção “Personalizar”

 

4) Definir o OracleHome e local que deseja instalar o client. (Pode-se deixar os valores sugeridos pelo installer).

 

5) A opção “Oracle Client” XX.X.X.X.X sempre vem marcada e é impossível desmarcá-la, afinal estamos instalando o client do oracle…

6) Para resolvermos o nosso problema, vamos precisar marcar as duas opções marcadas abaixo:  (Oracle Windows[bb] Interfaces e Oracle Call Interface(OCI)).

7) Ao marcar a opção Oracle Windows Interfaces, alguns “subitens” serão marcados automaticamente. É importante verificar se os itens marcados automaticamente contemplam os sinalizados na imagem abaixo, caso não sejam marcados automaticamente, faça isso manualmente.

8 ) Ao prosseguir com a instalação, será apresentado ao usuário o “resumo” da instalação. É importante verificar se os itens que marcamos no passo anterior estão sendo instalados. Caso não estejam, cancele a instalação e repita os passos anteriores.

Para maiores informações referente provider para Oracle seguem os links abaixo do fórum da Oracle:

Como eu comentei antes neste post, as vezes um “problema” ou “sintoma de problema” pode ter mais de uma solução. Procurando na net, encontrei alguém resolvendo um problema de provider para SQL Server. Fonte: http://ads.tt/SmWOrA.

O problema de TNSNAMES mencionado anteriormente pode ser semelhante a este : “ORA-12154: TNS:não foi possível resolver nome de serviço”. Este “problema” também ocorre com muita frequência, mas na verdade não se trata de um problema e sim de uma falta de configuração. Como este assunto também possui algumas peculiaridades, vou deixar para abordá-lo em um outro post.

Dúvidas e/ou sugestões deixe seu comentário.

Carlos Neto.