【发布时间】:2020-02-21 17:31:42
【问题描述】:
我正在尝试使用 ojdbc8 驱动程序通过 Scala Play 应用程序访问在 AWS 上运行的 Oracle RDS 实例。我需要访问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
下面这两个分辨率是直接相连的
- How to Fix 'ORA-12505, TNS:listener does not currently know of SID given in connect descriptor'
- TNS:listener does not currently know of SID given in connect descriptor
问题是 AWS does NOT allow remote access to the 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 命令提示符执行这些不会产生错误。
我正在使用这个 jdbc URL:
jdbc:oracle:thin:@<host_URL>:1521:SID
我也尝试过使用这种格式
jdbc:oracle:thin:@<host_URL>:1521/ServiceNames
但显然 AWS RDS 实例没有配置服务名称,因为如果我使用一个会产生语法错误。我发现的大多数答案都将tnsnames.ora 称为配置服务名称和 SID 的位置,因此包含有关如何实际形成连接字符串的信息。这就是我想要访问它的原因,如果我发现有可疑之处,请修改它。
【问题讨论】:
标签: oracle scala amazon-web-services