sexta-feira, 15 de julho de 2011

erro "ora-12154: tns: não foi possível resolver o identificador de conexão especificado"

Para se conectar uma aplicação Delphi no Oracle é necessário editar o arquivo tsnames.ora, geralmente na pasta C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN caso seu oracle seja o XE.
Esse erro pode acontecer tanto em runtime como em design-time, com qualquer tipo de componente: DBX, ADO e assim por diante. É mais comum que aconteça em tempo de design em um windows de 64 bit. 
Em alguns casos onde essa mensagem de erro aparece é porque o arquivo não existe ou está em uma pasta que o Delphi ou o seu aplicativo não tem permissão de acesso. 
Na grande maioria dos casos o erro ocorre apenas em design-time e nunca em runtime. Se esse é o seu caso  então provavelmente a culpa é do windows de 64 bit, mais especificamente o fato de o Delphi estar instalado na pasta "Arquivos de Programas (x86)". Explicando, o driver de conexão ao oracle não suporta caminhos contendo parênteses "()", esses que tem no "(x86)". Ele não consegue encontrar nem o driver de conexão nem o arquivo tsnames.ora por causa desses parênteses. Instale o Delphi em uma pasta tipo "Arquivos de Programas" "normal" ou até mesmo em uma pasta direto na raiz, como c:\Delphi.
Se o Delphi já está instalado nesta pasta problemática ainda assim é possível copiar toda a pasta do RAD STUDIO (geralmente C:\Arquivos de programas (x86)\Embarcadero\RAD Studio) para uma pasta qualquer, tipo c:\rad studio, e execute o Delphi dali. (ele se encontra na pasta 7.0\bin se for o 2010 ou 8.0\bin se for o XE, é o arquivo bds.exe).
Ele vai executar normalmente, mesmo no local "errado", já que tudo que ele precisa em matéria de bibliotecas está no registro e ele consegue encontrar no diretório original, e isso não impedirá de que uma conexão DBX com o oracle funcione normalmente. Vai funcionar mesmo em design-time, e compilar sua aplicação normalmente.

Have fun ;)

Postagens populares

Marcadores

delphi (60) C# (31) poo (21) Lazarus (19) Site aos Pedaços (15) sql (13) Reflexões (10) .Net (9) Humor (9) javascript (9) ASp.Net (8) api (8) Básico (6) Programação (6) ms sql server (5) Web (4) banco de dados (4) HTML (3) PHP (3) Python (3) design patterns (3) jQuery (3) livros (3) metaprogramação (3) Ajax (2) Debug (2) Dicas Básicas Windows (2) Pascal (2) games (2) linguagem (2) música (2) singleton (2) tecnologia (2) Anime (1) Api do Windows (1) Assembly (1) Eventos (1) Experts (1) GNU (1) Inglês (1) JSON (1) SO (1) datas (1) developers (1) dicas (1) easter egg (1) firebird (1) interfaces (1) introspecção (1) memo (1) oracle (1) reflexão (1)