1、在需要操作的服务器用sys/system as sysdba登录,建立databaselinks
create public database link f35ora //连接名
connect to zhxhjj //另一服务器上的Oracle用户
identified by "zhxhjj" //密码
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1521)) //192.168.1.2是被查询的服务器
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)';
语法:
create public database link 连接名 connect to (用户名) identified by 用户密码
using 's-server';
其中USING内容为你PL/SQL中想要操作的数据库信息;即我们监听tnsnames.ora文件中的内容
也可以在tnsnames.ora中增加一段监听,例如命名为f35server
上面的数据库连接就可以写成
create public database link f35ora
connect to zhxhjj
identified by "zhxhjj"
using 'f35server';
2、跨服务器查询
select * from rzj_depot@f35ora
题外话
如果f35ora连的是Oracle数据库,则在查询指定字段时可以直接写字段名
select depot_no from rzj_depot@f35ora
如果f35ora连的是SQL数据库,则在查询指定字段时要在字段上加双引号
select "depot_no" from rzj_depot@f35ora