2010-02-18 12 views
5

Czy istnieje interfejs API, który odczyta plik TNS i zaprezentuje go w łatwej w użyciu strukturze danych?Oracle: API do obsługi pliku TNS?

Chciałbym uzyskać listę wszystkich moich wpisów TNS. Działa to, ale nie jest szczególnie elegancki!

grep '^[a-zA-Z].*=' /etc/tnsnames.ora | sed 's/[ =].*//' 
+0

Co uważasz za nieuporządkowane w rozwiązaniu? –

Odpowiedz

4

Innym, niezbyt prostym rozwiązaniem jest ANTLR. Możesz użyć ANTLR do analizy tnsnames.ora. Na stronie ANTLR Grammar List znajdziesz gramatykę, która może parsować: tnsnames.ora, sqlnet.ora i listener.ora

0

Nie jestem pewien, czy TNSPing byłby dla ciebie bardziej przydatny. Wynik będzie następujący:

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) 

Problem polega na tym, że musisz przekazać mu nazwę TNS do pingowania, co może być lub nie jest możliwe w twoim scenariuszu.

Powiązane problemy