首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

DB2 建立跨資料庫視圖(聯邦資料庫)完整實作指南

     編輯:DB2 教學

前置準備:啟用聯邦功能

首先連線至業務資料庫,啟用聯邦參數並重啟 DB2 服務:

CONNECT TO JSDA USER db2admin USING pass1009;
UPDATE DBM CFG USING FEDERATED YES;
DB2STOP FORCE;
DB2START;

建立 Wrapper(封裝器)

移除舊有 Wrapper 後建立 DRDA Wrapper:

DROP WRAPPER DRDA;
CREATE WRAPPER "DRDA" LIBRARY 'db2drda.dll' OPTIONS (DB2_FENCED 'N');

建立 Server(遠端伺服器定義)

替換 AUTHORIZATION、PASSWORD、DBNAME 為實際遠端資料庫帳密與名稱:

CREATE SERVER TEMPSERVER
TYPE DB2/UDB VERSION 8.1
WRAPPER DRDA
AUTHORIZATION "用戶名"
PASSWORD "密碼"
OPTIONS (DBNAME 'TESTPP');

建立 User Mapping(使用者對應)

將本地使用者對應至遠端認證資訊,FOR db2admin 為本地管理帳號,若不同請同步修改後續 Schema:

CREATE USER MAPPING FOR db2admin SERVER TEMPSERVER
OPTIONS (REMOTE_AUTHID '用戶名', REMOTE_PASSWORD '密碼');

建立 Nickname(昵稱/遠端資料表別名)與視圖

為每張遠端資料表建立 Nickname,再依業務需求組合成本地視圖。範例包含人員基本資料、組織資訊、子系統對應、人員組織關聯、角色權限等多個視圖:

-- 人員基本資料視圖
CREATE NICKNAME db2admin.TEMPXX_PERSON2 FOR TEMPSERVER.db2admin.TEMPXX_PERSON;
CREATE NICKNAME db2admin.TEMPXX_PERSONACCOUNT2 FOR TEMPSERVER.db2admin.TEMPXX_PERSONACCOUNT;
CREATE VIEW SYS_PERSON AS
SELECT ... -- 省略欄位清單
FROM db2admin.TEMPXX_PERSON2, db2admin.TEMPXX_PERSONACCOUNT2
WHERE db2admin.TEMPXX_PERSON2.PERSONUUID = db2admin.TEMPXX_PERSONACCOUNT2.PERSONUUID;

-- 組織基本資料視圖
CREATE NICKNAME db2admin.TEMPXX_ORG2 FOR TEMPSERVER.db2admin.TEMPXX_ORG;
CREATE VIEW SYS_ORG AS ...;

-- 子系統與組織對應視圖
CREATE NICKNAME db2admin.TEMPXX_SYSORGSHORTCUT2 FOR TEMPSERVER.db2admin.TEMPXX_SYSORGSHORTCUT;
CREATE NICKNAME db2admin.TEMPXX_SYSTEM2 FOR TEMPSERVER.db2admin.TEMPXX_SYSTEM;
CREATE VIEW SYS_ORGSUBSYSREL AS ...;

-- 人員與組織對應視圖
CREATE NICKNAME db2admin.TEMPXX_ORGPERSON2 FOR TEMPSERVER.db2admin.TEMPXX_ORGPERSON;
CREATE VIEW SYS_ORGPERSON AS ...;

-- 人員與系統角色對應視圖
CREATE NICKNAME db2admin.TEMPXX_RIGHTSHORTCUT2 FOR TEMPSERVER.db2admin.TEMPXX_RIGHTSHORTCUT;
CREATE NICKNAME db2admin.TEMPXX_ROLE2 FOR TEMPSERVER.db2admin.TEMPXX_ROLE;
CREATE NICKNAME db2admin.TEMPXX_ROLEDISABLE2 FOR TEMPSERVER.db2admin.TEMPXX_ROLEDISABLE;
CREATE VIEW SYS_RIGHTSHORTCUT AS ...;

-- 人員與應用角色對應視圖
CREATE VIEW SYS_APPROLE_PERSON AS ...;

注意事項

  • 所有 Schema(如 db2admin.)需與實際環境一致,異動帳號時請同步修改。
  • 視圖定義中使用 EXCEPT 排除停用角色,確保權限資料準確。
  • 建立完成後,應用程式即可透過本地視圖透明存取跨庫資料。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved