对于Oracle来说。不管是连接本地数据库还是远程连接server数据库,都须要在本机配置网络服务才可连接。
大家可能不明确为什么。
先拿SqlServer来说。SqlServer在连接数据库的时候仅仅须要输入本机IP或者server的IP、usernamepassword就可以登录。
这是直接指定IP的连接方式。
而Oracle不是这种。他是通过配置网络服务名的方式来连接的。通过Net Manager来配置一项新的服务。
配置过程:
1、找到NetManager。点击“+”号新建一个服务,输入自己定义的网络服务名。
2、选择默认的 TCP/IP协议
3、填写主机名和port号。主机名就是Oracle数据库所在机器的IP地址,一般就是serverIP。
4、填写创建数据库时定义的服务名。
5、创建完毕。
上面一系列的配置,事实上结果就是向Oracle安装文件夹(D:\app\NiuNiu\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora)的tnsnames.ora文件里加入了例如以下一段字符而已:
DRP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.24.187)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = drp)
)
)
字段含义例如以下:
DRP:自己定义的网络服务名
ADDRESS_LIST:表示该客户机要经由多种协议与一台或多台server连接。在该样式文件里就表示该客户机要用TCP/IP协议来和server相连。
PROTOCOL: 指明要连接使用的协议。
(例:PROTOCOL = TCP)
SERVICE_NAME:ORACLE数据库服务名。(例:SERVICE_NAME = drp)
HOST:是TCP/IP协议使用的serverIP地址。
(例:HOST = 192.168.24.187)
PORT:是TCP/IP使用的port地址。
(例:PORT = 1521)
这时候打开PLSQL,你会发现:
下拉框中的“DRP”选项。就是刚才新建的网络服务名。
PLSQL通过这个网络服务名。找到对应路径下tnsnames.ora文件里对应的这段字符串:
DRP =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.24.187)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = drp)
)
)
然后在通过IP地址和数据库服务名,远程连接到对应server上的数据库。主要的原理就是这样,不对的地方还望指正!
时间: 2024-12-23 19:08:19