Oracle10g的簡化連線方式

yangtingkun發表於2007-09-01

Oracle10g開始,SQLPLUS連線遠端Oracle資料庫不再一定要依賴有tnsnames.ora檔案。


SQLPLUS中使用CONNECT連線的時候,如果連線遠端資料庫,需要指定服務名。這個服務名是在本地$ORACLE_HOME/network/admin/tnsnames.ora中配置的。

SQL> conn test/test@testdata已連線。
SQL>

這個連線所以成功,是由於tnsnames.ora中有如下的配置:

TESTDATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.88.94)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = TESTDATA)
(SERVER = DEDICATED)
)
)

和建立資料庫鏈時一樣,Oracle在連線的時候也可以不使用服務名,而將服務名對應的所有資訊完整的放到@後面:

SQL> conn test/test@(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 172.25.88.94)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = TESTDATA)(SERVER = DEDICATED)))已連線。
SQL>

但是這樣似乎更加不方便。不但很難記憶,而且很容易出錯。

Oracle10g開始可以利用簡化的連線方式,只需要輸入主機名、埠(可選)和服務就可以完成連線操作:

SQL> conn test/test@172.25.88.94/testdata已連線。
SQL> conn test/test@172.25.88.94:1521/testdata
已連線。
SQL> conn test/test@//172.25.88.94:1521/testdata
已連線。
SQL>

這種簡化方式在sqlplus命令中以及建立CREATE DATABASE LINK中都可以使用。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-69410/,如需轉載,請註明出處,否則將追究法律責任。

相關文章