Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

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 ?

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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... :(

Compartilhar este post


Link para o post
Compartilhar em outros 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

 

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.