Я пытаюсь получить доступ к экземпляру Oracle RDS, работающему на AWS, через приложение Scala Play, используя драйвер ojdbc8
. Мне нужно получить доступ к файлу tnsnames.ora
и проверить его конфигурацию, поскольку я получаю эту ошибку:
Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
, которая напрямую связана с этими двумя следующими разрешениями
проблема в том, что AWS НЕ разрешает удаленный доступ к Oracle RDS , и я не могу найти в консоли AWS ничего, что могло бы помочь мне изменить или даже получить доступ к содержимому tnsnames.ora
.
Могу ли я сделать это, используя SQL? Эта ошибка даже не выглядит согласованной, поскольку, например, некоторые запросы работают ....
/// Дополнительная информация:
Запросы, подобные приведенным ниже, успешно выполняются:
SELECT COUNT(*) FROM (
SELECT
DISTINCT tab.column_a, tab.column_a AS L0, tab.column_a AS L1, tab.column_a AS L2
FROM
ADMIN.table_something tab
WHERE
tab.column_a IS NOT NULL
)
те, которые потерпели неудачу, выглядят так
SELECT
DISTINCT tab.column_a, tab.column_a AS L0, tab.column_a AS L1, tab.column_a AS L2
FROM
ADMIN.table_something tab
WHERE
tab.column_a IS NOT NULL
и под ошибкой я имею в виду ошибку, о которой я упоминал выше. Выполнение их из командной строки SQL не приводит к ошибкам.
Я использую этот jdb c URL:
jdbc:oracle:thin:@<host_URL>:1521:SID
Я также пытался использовать этот формат
jdbc:oracle:thin:@<host_URL>:1521/ServiceNames
Но, по-видимому, экземпляр AWS RDS не настроен с именами служб, поскольку при его использовании возникает синтаксическая ошибка. Большинство ответов, которые я нашел, относятся к tnsnames.ora
как месту, где настраиваются имена служб и SID, и, следовательно, содержат информацию о том, как на самом деле формировать строку подключения. Вот почему я хочу получить к нему доступ, и если я найду что-то подозрительное, измените его.