我正在尝试通过sql developer连接到远程服务器上的oracle db.我将连接细节复制到tnsnames,我可以连接到db.
但是,我有另一个db应用程序,它与sqldeveloper相同,当我尝试建立连接时,我不断收到此错误.此应用程序使用oracle jdbc瘦客户端,它需要主机名和SID.@H_502_3@
java.sql.sqlException:Listener拒绝连接时出现以下错误:
ORA-12505,TNS:监听器当前不知道连接描述符中给出的SID@H_502_3@
在排除故障时,我更改了sqldeveloper中的tns选项,我选择了基本选项来找出问题所在,我意识到由于服务名称正确而无法通过SID连接到数据库,我能够连接到它甚至通过sqldeveloper命名.@H_502_3@
我已经使用了一些数据库查询来查找SID名称,但我仍然遇到同样的错误.请帮我排除故障.@H_502_3@
谢谢你的时间..@H_502_3@
解决方法
ORA-12505表示您的客户端传递了服务器端侦听器的SID
根本不认识.
根本不认识.
在10G及以上您可以在不配置服务器端的情况下使用EZ连接
像这样:@H_502_3@
sqlplus hr@liverpool:1521/DEMO hr is the user name liverpool is the server name 1521 is the port the listener for the DB is listening on DEMO is the database SID
(要么)@H_502_3@
如果您仍想使用tnsnames.ora,请尝试从客户端运行tnsping SID.@H_502_3@
在LINUX上,您还可以让ORACLE从本地读取tnsnames.ora文件
path – 只需将TNS_ADMIN设置为tnsnames.ora文件所在的目录.@H_502_3@
否则,您需要在$ORACLE_HOME / network / admin中配置tnsnames.ora
在客户端上@H_502_3@
从dual中选择sys_context(‘userenv’,’db_name’);@H_502_3@
看到这个网址:@H_502_3@