ORACLE - Utilizando tnsnames.ora

Visão Geral

ODP.NET é o nome do provedor de dados desenvolvido pela ORACLE para conectar aplicações desenvolvidas em .NET Framework ao seu banco de dados.

Você pode conferir as instruções de instalação desde conector neste link.

Arquivo tnsnames.ora

O arquivo tnsnames.ora é um arquivo comum do banco de dados ORACLE, que contém uma lista conexões nomeadas (alias), cada uma com suas respectivas configurações de conexão (IP, port, etc)

O objetivo deste arquivo é fornecer um local centralizado para gerenciar as configurações de conexões, sendo necessário que as aplicações conheçam apenas o “alias” da conexão.

Veja abaixo o arquivo modelo fornecido junto com a instalação do ODP.NET:

# Every line that begins with # is a comment line
#
# Create Oracle net service names, or aliases, for each database server 
# you need to connect to.
#
# TNSNames.ora sample entry
#
# alias =
#  (DESCRIPTION =
#    (ADDRESS = (PROTOCOL = TCP)(HOST = myserver.mycompany.com)(PORT = 1521))
#    (CONNECT_DATA =
#      (SERVER = DEDICATED)
#      (SERVICE_NAME = orcl)
#    )
#  )
#
# You can modify the entry below for your own database.
# <data source alias> = Name to use in the connection string Data Source
# <hostname or IP> = name or IP of the database server machine
# <port> = database server machine port to use
# <database service name> = name of the database service on the server

<data source alias> =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <hostname or IP>)(PORT = <port>))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <database service name>)
    )
  )

Configuração

No LATROMI, o arquivo tnsnames.ora pode ser utilizado ao configurar uma conexão, como podemos ver na imagem a seguir.

image

No entanto para que o arquivo “tnsnames.ora” seja localizado pelo sistema, é necessário que a pasta onde o mesmo se encontra esteja configurada no parâmetro “TNS_ADMIN” do arquivo machine.config, como mostra o código abaixo:

<configuration>
 <!-- 
 ... manter o código existente do arquivo xml
 -->
 <oracle.manageddataaccess.client>
   <version number="*">
     <settings>
       <setting name="TNS_ADMIN" value="c:\ORACLE\odp.net\managed\x64\..\..\..\network\admin" />
     </settings>
   </version>
 </oracle.manageddataaccess.client>
</configuration>

O arquivo machine.config que precisa ser alterado fica no caminho:

c:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config

Considerações Finais

No fim das contas, usar o arquivo tnsnames.ora em aplicações .NET não parece ser a melhor opção para realizar a conexão, principalmente se você não está muito familiarizado com a infraestrutura do ORACLE.

É muito mais fácil configurar a conexão usando a opção Descrever Conexão ou até mesmo EZ Connect.