Oracle: API para lidar com o arquivo TNS? [fechado
Pergunta
Existe uma API que lerá um arquivo TNS e a apresentará em alguma estrutura de dados fácil de usar?
Eu gostaria de obter uma lista de todas as minhas entradas do TNS. Isso funciona, mas não é particularmente elegante!
grep '^[a-zA-Z].*=' /etc/tnsnames.ora | sed 's/[ =].*//'
Solução
Outra solução, não muito simples, é a ANTLR. Você pode usar o ANTLR para analisar tnsnames.ora
. Sobre Lista de gramática Antlr página você encontrará gramática que pode analisar tnsnames.ora
, sqlnet.ora
e listener.ora
Outras dicas
Não tenho certeza se o TNSping seria mais útil para você. Será produzido como:
TNS Ping Utility for Linux: Version 10.2.0.1.0 - Production
on 01-MAR-2009 02:02:33
Copyright (c) 1997, 2005, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)
(HOST = myhostname)(PORT = 1521)) (CONNECT_DATA = (SID = mydb)))
OK (80 msec)
O problema é que você deve passar o nome do TNS para o ping, o que pode ou não ser possível em seu cenário.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow