在軟體開發的過程中,發現Web應用程式可能要對兩個不同的資料庫同時進行通路,可以使用同義詞來實作.但必須要先建立一個資料庫連結. 當然引用資料庫連結,也可以達到與使用同義詞同樣的效果.
databaseA 資料庫A執行個體名
databaseB 資料庫B執行個體名
A_USR_ID 資料庫A的使用者
A_USR_PWD 使用者A_USR_ID的密碼
B_USR_ID 資料庫B的使用者
B_USR_PWD 使用者B_USR_ID的密碼
通過資料庫連結,可以實作在B_USR_ID模式下通路A_USR_ID模式下的表,視圖等.
連接配接databaseB
Connect B_USR_ID/ B_USR_PWD @databaseB_192.168.0.48;
建立資料庫連結
create database link db_link_databaseA
connect to A_USR_ID identified by A_USR_PWD
using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.48)(PORT = 1521)))(CONNECT_DATA =(SID = databaseA)(SERVER = DEDICATED)))';
删除資料庫連結
drop database link db_link_databaseA;
檢視所有的資料庫連結
select * from dba_objects where object_type='DATABASE LINK';
直接引用資料庫連結
select * from A_TABLE@ db_link_databaseA;