Другое, не очень простое решение - ANTLR. Вы можете использовать ANTLR для анализа tnsnames.ora
. На странице ANTLR Grammar List вы найдете грамматику, которая может анализировать tnsnames.ora
, sqlnet.ora
и listener.ora
Я не уверен, что TNSPing был бы для вас более полезен. Результат будет примерно таким:
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)
Проблема в том, что вы должны передать ему имя TNS в команду ping, что может быть, а может и не быть возможным в вашем сценарии.