Oracle:API для работы с файлом TNS?[закрыто]
Вопрос
Существует ли API, который будет считывать файл TNS и представлять его в какой-либо простой в использовании структуре данных?
Я хотел бы получить список всех моих записей в TNS.Это работает, но не особенно элегантно!
grep '^[a-zA-Z].*=' /etc/tnsnames.ora | sed 's/[ =].*//'
Решение
Другим, не очень простым решением является ANTLR.Вы можете использовать ANTLR для синтаксического анализа tnsnames.ora
.На Список грамматик ANTLR на странице вы найдете грамматику, которую можно разобрать 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, что может быть или не быть возможным в вашем сценарии.
Не связан с StackOverflow