Domanda

C'è un API che leggere un file di TNS e presentarlo in qualche struttura di dati facile da usare?

Mi piacerebbe ottenere un elenco di tutte le mie voci TNS. Questo funziona, ma non è particolarmente elegante!

grep '^[a-zA-Z].*=' /etc/tnsnames.ora | sed 's/[ =].*//'
È stato utile?

Soluzione

Un altro, non è molto semplice, la soluzione è ANTLR. È possibile utilizzare ANTLR per analizzare tnsnames.ora. A pagina ANTLR Grammatica Lista troverete la grammatica che può analizzare tnsnames.ora, sqlnet.ora e listener.ora

Altri suggerimenti

Non sono sicuro se tnsping sarebbe più utile a voi. Il risultato sarà come:

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)

Il problema è che si deve passare il nome TNS a ping, che può o non può essere possibile nel vostro scenario.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top