SQLSERVER、ORACLE等數據庫都能進行對遠程數據庫的跨庫查詢,一樣DB2也提供了數據庫聯邦功能實現跨庫查詢,爲數據的遷移帶來很大的方便。實現DB2數據庫的跨庫查詢主要有如下幾個步驟:css
1 打開數據庫聯邦功能
db2 update dbm cfg using FEDERATED YESnode
2 建立數據庫編目
若是建立聯邦的兩個數據庫不在同一個機上,那麼須要在一個數據庫上編目另外一個數據庫
db2 catalog tcpip node sgsnode remote 10.76.3.80 server 50000;
db2 catalog database icssif as sgsicsif at node sgsnode;sql
3 建立包裝器wrappers
CREATE WRAPPER "DRDA"
LIBRARY 'libdb2drda.so'
OPTIONS (DB2_FENCED 'N'
);數據庫
4 建立 服務器SERVER
CREATE SERVER SGSICSIF
TYPE DB2/UDB
VERSION '9.7'
WRAPPER DRDA
AUTHORIZATION "db2inst1"
PASSWORD " db2inst1 "
OPTIONS
(DBNAME 'SGSICSIF'
);
5 用戶映射
CREATE USER MAPPING FOR IBSS SERVER SGSICSIF OPTIONS ( ADD REMOTE_AUTHID 'db2inst1', ADD REMOTE_PASSWORD 'db2inst1') ;
6 創建暱稱
CREATE NICKNAME "DB2INST1"."N_B_I_CIG"
FOR "SGSICSIF"."DB2INST1"."T_B_I_CIG";服務器
此時,咱們能夠在DB2數據庫的對象中看到這個N_B_I_CIG,咱們能夠想查詢本地數據庫的表同樣,查詢此表了!app
7 同一臺機上的數據庫聯邦tcp
若是須要查詢的兩個數據庫在同一臺機上,那麼就不須要進行對遠程數據庫編目了,以下實例:
CREATE SERVER PPPY
TYPE DB2/NT
VERSION '10'
WRAPPER DRDA AUTHID "db2towas"
PASSWORD "db2towas"
OPTIONS (
DB2_CONCAT_NULL_NULL 'Y',
DB2_VARCHAR_BLANKPADDED_COMPARISON 'Y',
DBNAME 'pppy',
NO_EMPTY_STRING 'N'
);
CREATE USER MAPPING FOR DB2TOWAS
SERVER PPPY
OPTIONS (
REMOTE_AUTHID 'db2towas',
REMOTE_PASSWORD 'db2towas'
);
ide