TNS有哪些优势?

时间:2018-06-04 12:12:00

标签: oracle tns

我是Oracle数据库的新手,我不明白我们在使用TNS时会获得什么?为什么不使用普通的TCP / IP?

据我所知,TNS是额外的网络层。但我不明白它的作用。维基百科说:

  

支持同类对等连接

TCP / IP是否也支持它?

我真的很惊讶互联网上的信息很少。

1 个答案:

答案 0 :(得分:3)

人们经常使用“TNS”来引用 TNS名称(或本地命名),这是指定数据库连接信息的可选简便方法。 You put your TCP/IP connection information in your tnsnames.ora file的昵称如“MYSERVER”,然后您只需connect MYSERVER,而不必每次都提供主机名/端口/服务名称。

TNSNames.ora示例:

MYSERVER= 
 (DESCRIPTION=  
  (ADDRESS= 
     (PROTOCOL=tcp) 
     (HOST=192.168.1.17) 
     (PORT=1521)) 
  (CONNECT_DATA=  
     (SERVICE_NAME=myservice))) 

你会注意到它有一个IP地址,并说“PROTOCOL = tcp”。

与TNSNames连接:

sqlplus user@MYSERVER

但如果您不想使用TNS名称快捷方式,则不必使用 - connect strings support a number of different naming methods

使用EZCONNECT语法连接:

sqlplus user@\"192.168.1.17:1521/myservice\"

但最后,TNSNames只是图片的一小部分。正如上面提到的评论者所说,“TNS”更准确地用于指代用于与任何Oracle数据库通信的 Oracle Net基础层proprietary session layer组件。如果不使用TNS,则无法连接到Oracle数据库。