Jump to content

POWERED BY:

Archived

This topic is now archived and is closed to further replies.

andrerm

[Resolvido] Erro ao acessar BD Oracle

Recommended Posts

Olá,

 

Já não sei mais o que tenta, estou tentando acessar o BD Oracle que está na minha máquina e não estou conseguindo.

Retorna o seguinte erro:

"ORA-12154:TNS:não foi possível resolver o identificador de conexão especificado"

 

Pesquisei e vários posts informaram que o problema poderia estar no arquivo tnsnames.ora, acessei o arquivo e não encontrei nenhum problema.

 

##### MEU ARQUIVO TNSNAMES.ORA #####

# tnsnames.ora Network Configuration File: F:\app\USUARIO\product\11.1.0\db_1\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.

 

CLM =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = programacao1)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = BDCLM)

)

)

 

ORCL =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = programacao1)(PORT = 1521))

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

 

CLMX =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(Host = programacao1)(Port = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = BDCLM)

)

)

####################################

 

 

No Visual Studio 2008 criei um arquivo dbml e estou tentando fazer a conexão da seguinte maneira:

Data source: Oracle Database (Oravle ODP.NET)

Data source name: CLM (tentei com os 3 que tenho no arquivo tnsnames.ora)

User name: SYSTEM

Password: *****

Role: Default

 

E quando testo a conexão da o erro.

 

Alguém tem alguma idéia do que pode estar acontecendo ?

Share this post


Link to post
Share on other sites

Ola Master,

 

Coisas que você deve checar:

1) Verifique se você não tem mais de uma versão do OracleClient instalado em seu computator.

2) Faça um teste usando o ODBC, verifique se funcione.

3) No MS-DOS utilize o comando TNSPING para ver se realmente o listener de seu servidor esta ativo.

Exemplo:

C:\>TNSPING CLM

O resultado deverá ser este:

TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 05-MAR-2010 10:37:12

Copyright (c) 1997 Oracle Corporation.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = programacao1) (PORT = 1521))) (CONNECT_DATA = (SID = DBCML)))
OK (20 msec)

Se tudo isso estiver corretor, segnifica que existe algum problema no ODP.NET.

 

A mensagem de erro: ORA-12154, significa que o ODP.NET esta se conectando corretamente com o Oracle Client, mas é o Oracle Client que não esta se conectando com o Server.

 

Se possivel faça um debug nas informações que estão no ODP antes de abrir a conexão, e verifique se o TNS esta correto.

 

Espero te-lo ajudado, ;)

 

Angelo Compri

Share this post


Link to post
Share on other sites

Fiz um pequeno progresso...

 

Consegui realizar a conexão com o BD mais as tabelas e uma View que criei não aparecem. :(

Mudei o Data Provider que estava tentando utilizar, inicialmente estava tentando uitilizar o "Oracle Data Provider for .NET" a conexão que consegui realizar foi com o ".NET Framework Data Provider for OLE DB".

 

Creio eu que teoricamente não é problema no meu TSNNAME.

Estou achando que é porque estou utilizando o framework 3 e no site da Oracle eu baixei o "Oracle 11g ODAC 11.1.0.7.20 with Oracle Developer Tools for Visual Studio" a na descrição tem suporte apenas até o framework 2, pode ser esse o problema ?

 

Angelo, ainda acha que com o Debug posso descobrir o problema, se sim como realizo esse debug ?

 

Acabei de tentar realizar a conexão através do Framework 2 e retorno o mesmo erro.

 

Encontrei um detalhe relevante para que alguém possa me ajudar.

 

No diretório "client_1\Network\Admin" não haviam os arquivos "tnsnames.ora", "listener.ora" e "sqlnet.ora".

Copiei esses arquivos que estavam no "db_1\Network\Admin", quando acesso para criar uma nova conexão aparecem os 3 Alias que criei no TNSNAME.

 

Mais o erro ainda continua o msm... :(

Share this post


Link to post
Share on other sites

Executei o TNSPING e retorno tudo certo.

 

 

Ola Master,

 

Coisas que você deve checar:

1) Verifique se você não tem mais de uma versão do OracleClient instalado em seu computator.

2) Faça um teste usando o ODBC, verifique se funcione.

3) No MS-DOS utilize o comando TNSPING para ver se realmente o listener de seu servidor esta ativo.

Exemplo:

C:\>TNSPING CLM

O resultado deverá ser este:

TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 05-MAR-2010 10:37:12

Copyright (c) 1997 Oracle Corporation.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = programacao1) (PORT = 1521))) (CONNECT_DATA = (SID = DBCML)))
OK (20 msec)

Se tudo isso estiver corretor, segnifica que existe algum problema no ODP.NET.

 

A mensagem de erro: ORA-12154, significa que o ODP.NET esta se conectando corretamente com o Oracle Client, mas é o Oracle Client que não esta se conectando com o Server.

 

Se possivel faça um debug nas informações que estão no ODP antes de abrir a conexão, e verifique se o TNS esta correto.

 

Espero te-lo ajudado, ;)

 

Angelo Compri

 

Share this post


Link to post
Share on other sites

Ola Master,

 

Lendo seu post, percebi que você tem dois Oracle Client instalados no mesmo computador.

Sugiro que remova os dois e instale somente uma vez.

 

Quanto as Views, pode serq ue elas não pertençam ao usuário que você esta conectando. Será necessário dar um grant ao usuário e criar um sinonimo.

Quanto ao Debug, este é um processo normal do VS: coloque um break point antes do Open(), rode a aplicação, quando for executar este comendo o VS vai parar a aplicação. usando o F9 nos componentes de conexão é possivel ver todos os dados que serão enviados ao Oracle para executar o metodo Open.

 

Se você já conseguiu conectar usando o OLEDB significa que o erro pode estar no provider que você esta usando. Entre no http://www.connectionstrings.com/oracle e verifique se esta usando a String de conexão correta.

 

Espero te-lo ajudado, ;)

 

Angelo Compri

Share this post


Link to post
Share on other sites

Infelizmente não consegui mesmo fazendo tudo que foi informando nos posts.

Fui com a minha máquina no cliente e consegui na hora acessar o BD.

 

Obrigado a todos que colaboraram.

Share this post


Link to post
Share on other sites

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.