为什么我必须在Oracle SQL Developer中使用tnsnames.ora来连接某些数据库

时间:2016-11-21 08:37:15

标签: oracle oracle11g oracle-sqldeveloper tnsnames

当我登录某个oracle数据库时,我可以在没有tnsnames.ora的情况下进行连接。但是,当我尝试登录其他一些数据库时,由于TNS:连接超时而拒绝。有什么改变? TNS文件有什么作用?为什么我必须有这个ora文件?

谢谢

1 个答案:

答案 0 :(得分:0)

文件tnsnames.ora只是将您的数据库别名解析为完整数据库地址。

假设您有一个条目:

ORA11 =
 (DESCRIPTION = 
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.0)(PORT = 1521))
   )
 (CONNECT_DATA =
   (SERVICE_NAME = ORA12)
 )
)

然后你可以开始例如SQL * Plus

sqlplus SCOTT@ORA11 

sqlplus SCOTT@"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.0)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORA12)))"

它也是如此,第一种方式更方便。