Вопрос

Существует ли 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, что может быть или не быть возможным в вашем сценарии.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top