TNS有什么优势?
What are the advantages of TNS?
我是 Oracle 数据库的新手,我不明白我们在使用 TNS 时获得了什么?为什么不使用普通 TCP/IP?
据我了解,TNS 是附加网络层。但我不明白它的作用。维基百科指出:
supports homogeneous peer-to-peer connectivity
TCP/IP也支持吗?
我真的很惊讶互联网上关于这方面的信息如此之少。
人们经常使用"TNS"来指代TNS Names(或Local Naming),这是一个可选的,shorthand指定你的数据库连接信息的方式。 You put your TCP/IP connection information in your tnsnames.ora file 加上像 "MYSERVER" 这样的昵称,然后你就可以 connect MYSERVER
而不必每次都提供 hostname/port/service-name。
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 Net 基础层 的 proprietary session layer 组件,用于与任何 Oracle 数据库进行通信。不使用 TNS 就无法连接到 Oracle 数据库。
我是 Oracle 数据库的新手,我不明白我们在使用 TNS 时获得了什么?为什么不使用普通 TCP/IP?
据我了解,TNS 是附加网络层。但我不明白它的作用。维基百科指出:
supports homogeneous peer-to-peer connectivity
TCP/IP也支持吗?
我真的很惊讶互联网上关于这方面的信息如此之少。
人们经常使用"TNS"来指代TNS Names(或Local Naming),这是一个可选的,shorthand指定你的数据库连接信息的方式。 You put your TCP/IP connection information in your tnsnames.ora file 加上像 "MYSERVER" 这样的昵称,然后你就可以 connect MYSERVER
而不必每次都提供 hostname/port/service-name。
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 Net 基础层 的 proprietary session layer 组件,用于与任何 Oracle 数据库进行通信。不使用 TNS 就无法连接到 Oracle 数据库。