代码之家  ›  专栏  ›  技术社区  ›  Artem

TNS的优点是什么?

  •  0
  • Artem  · 技术社区  · 6 年前

    我是Oracle数据库的新手,我不明白我们使用TNS的好处是什么?为什么不使用纯TCP/IP?

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

    支持同构对等连接

    TCP/IP也支持吗?

    我真的很惊讶互联网上关于这个的信息这么少。

    1 回复  |  直到 6 年前
        1
  •  3
  •   kfinity    6 年前

    人们经常用“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”更准确地指代 proprietary session layer 组成部分 Oracle网络基础层 用于与任何Oracle数据库通信。如果不使用tns,则无法连接到oracle数据库。