【发布时间】:2012-11-21 09:55:11
【问题描述】:
我正在尝试通过 sql developer 连接到远程服务器上的 oracle db。我将连接详细信息复制到 tnsnames 并且能够连接到数据库。
但是我有另一个与 sqldeveloper 相同的数据库应用程序,当我尝试建立连接时,我不断收到此错误。此应用程序使用需要主机名和 SID 的 oracle jdbc 瘦客户端。
我收到以下错误:
java.sql.SQLException:侦听器拒绝连接并出现以下错误: ORA-12505, TNS:listener 目前不知道连接描述符中给出的 SID
在进行故障排除时,我更改了 sqldeveloper 中的 tns 选项,我选择了基本选项来找出问题所在,我意识到我能够连接到它,因为服务名称正确,但无法连接到db 通过 SID 名称甚至通过 sqldeveloper。
我使用了一些数据库查询来找出 SID 名称,但我仍然收到相同的错误。请帮我解决问题。
感谢您的宝贵时间..
【问题讨论】:
-
你能给我们你在 SQLDeveloper 和你的应用程序中使用的连接字符串吗?如有必要,请清除 IP!
-
CONNECTION = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521)) ( LOAD_BALANCE = yes) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) (RETRIES = 180) (DELAY = 5) ) )
-
您说您只能使用服务名称进行连接,但在上述连接字符串中未指定服务名称。你是怎么得出这个连接字符串的?您是否尝试在应用程序中使用此连接字符串,指定的服务名称与您在 sqldeveloper 中指定的值相同?
标签: database linux oracle oracle11g