2010-02-18 57 views
5

是否有API會讀取TNS文件並將其呈現在一些易於使用的數據結構中?Oracle:用於處理TNS文件的API?

我想獲得我所有TNS條目的列表。這工作,但不是特別優雅!

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

什麼是您發現關於您的解決方案的優雅? – 2010-02-19 17:02:00

回答

4

另一個不是很簡單的解決方案是ANTLR。您可以使用ANTLR來解析tnsnames.ora。在ANTLR Grammar List頁面上,您會發現可以解析的語法tnsnames.ora,sqlnet.oralistener.ora

0

我不確定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名平,這可能會或可能不會在您的方案是可行的。