有关DB2创建跨库视图的操作方案

数据库
以下的文章主要向大家描述的是DB2创建跨库视图的实际操作方法,下面就是文章的主要内容的详细分析,望大家有所收获。

本文主要介绍的是有关DB2创建跨库视图的实际操作方法,以下就是对DB2数据库创建跨库视图的实际操作流程的具体方案的描述,希望在你今后的学习中会有所帮助。

 

第一步:连接业务库后执行该语句 

 

  1. connect to sjsda user db2admin using pass1009;   
  2. --update dbm cfg using federated yes; 

然后重新启动 db2 服务

 

  1. --db2stop force;   
  2. --db2start;  

第二步:执行以下语句,如以别的账号,把下面的模式“db2admin.”都换掉

 

删除原有各对象 

  1. drop wrapper drda;   
  2. -- 创建WRAPPER 的 DDL 语句  
  3. CREATE WRAPPER "DRDA"   
  4. LIBRARY 'db2drda.dll'   
  5. OPTIONS (DB2_FENCED 'N'   
  6. );   
  7. -- 创建SERVER 的 DDL 语句  
  8. -- 需替换AUTHORIZATION,PASSWORD,DBNAME,指平台的数据库   
  9. CREATE SERVER tempserver   
  10. TYPE DB2/UDB   
  11. VERSION 8.1   
  12. WRAPPER DRDA   
  13. AUTHORIZATION "用户名"   
  14. PASSWORD "密码"   
  15. OPTIONS   
  16. (DBNAME 'TESTPP'   
  17. );   

创建USER MAPPING 的 DDL 语句

 

需替换REMOTE_AUTHID,REMOTE_PASSWORD,指平台的数据库

"FOR db2admin "中的db2admin 在后面都会用到,最好是业务数据库管理账号,如以别的账号,最好把下面的模式“db2admin.”也都换掉 

  1. CREATE USER MAPPING FOR db2admin   
  2. SERVER tempserver   
  3. OPTIONS   
  4. (REMOTE_AUTHID '用户名'   
  5. ,REMOTE_PASSWORD '密码'   
  6. );  

创建DB2跨库视图的 DDL 语句

 

用户基本信息的视图

  1.  
  2. CREATE NICKNAME db2admin.TEMPXX_PERSON2 FOR tempserver.db2admin.TEMPXX_PERSON;   
  3. CREATE NICKNAME db2admin.TEMPXX_PERSONACCOUNT2 FOR tempserver.db2admin.TEMPXX_PERSONACCOUNT;   
  4. create view SYS_PERSON as   
  5. select db2admin.TEMPXX_PERSONACCOUNT2.PERSONUUID, db2admin.TEMPXX_PERSONACCOUNT2.FLAG, db2admin.
  6. TEMPXX_PERSONACCOUNT2.
  7. USERID, db2admin.TEMPXX_PERSONACCOUNT2.ACCOUNTSTAT, db2admin.TEMPXX_PERSONACCOUNT2.LOGINFAILNUM, 
  8. db2admin.TEMPXX_PERSONACCOUNT2.LASTLOGINIP, db2admin.TEMPXX_PERSONACCOUNT2.LASTLOGINDATE, db2admin.
  9. TEMPXX_PERSONACCOUNT2.PASSQUESTION, db2admin.TEMPXX_PERSONACCOUNT2.PASSANSWER, db2admin.TEMPXX_PERSONACCOUNT2.TTLFLAG,
  10.  db2admin.TEMPXX_PERSONACCOUNT2.ACCOUNTTTL, db2admin.TEMPXX_PERSONACCOUNT2.CREATETIME,db2admin.TEMPXX_PERSONACCOUNT2.DELTAG,   
  11. db2admin.TEMPXX_PERSON2.PERSONCODE, db2admin.TEMPXX_PERSON2.CNNAME, db2admin.TEMPXX_PERSON2.ENNAME,
  12.  db2admin.TEMPXX_PERSON2.FIRSTNAME,db2admin.TEMPXX_PERSON2.LASTNAME,db2admin.TEMPXX_PERSON2.IDNUM, 
  13. db2admin.TEMPXX_PERSON2.CARDCODE, db2admin.TEMPXX_PERSON2.SEX, db2admin.TEMPXX_PERSON2.MARRYCODE,
  14.  db2admin.TEMPXX_PERSON2.PCODE, db2admin.TEMPXX_PERSON2.HOMETEL, db2admin.TEMPXX_PERSON2.OFFICETEL, 
  15. db2admin.TEMPXX_PERSON2.HOMEFAX, db2admin.TEMPXX_PERSON2.OFFICEFAX, db2admin.TEMPXX_PERSON2.MOBILE, 
  16. db2admin.TEMPXX_PERSON2.PAGER, db2admin.TEMPXX_PERSON2.EMAIL1, db2admin.TEMPXX_PERSON2.EMAIL2, 
  17. db2admin.TEMPXX_PERSON2.COUNTRY, db2admin.TEMPXX_PERSON2.PROVINCEID, db2admin.TEMPXX_PERSON2.CITYID, 
  18. db2admin.TEMPXX_PERSON2.CONNECTADDR, db2admin.TEMPXX_PERSON2.ZIP, db2admin.TEMPXX_PERSON2.EDUCODE,
  19.  db2admin.TEMPXX_PERSON2.DEGREECODE, db2admin.TEMPXX_PERSON2.OTHERINFO,db2admin.TEMPXX_PERSON2.
  20. SEQUENCENO,db2admin.TEMPXX_PERSON2.JOB ,db2admin.TEMPXX_PERSON2.SIGNATURE   
  21. from db2admin.TEMPXX_PERSON2, db2admin.TEMPXX_PERSONACCOUNT2   
  22.  
  23. where db2admindb2admin.TEMPXX_PERSON2.PERSONUUID = db2admin.TEMPXX_PERSONACCOUNT2.PERSONUUID; 

组织基本信息的视图

 

  1. CREATE NICKNAME db2admin.TEMPXX_ORG2 FOR tempserver.db2admin.TEMPXX_ORG;   
  2. create view SYS_ORG as   
  3. select db2admin.TEMPXX_ORG2.ORGUUID, db2admin.TEMPXX_ORG2.CNNAME, db2admin.TEMPXX_ORG2.ENNAME,

     

    db2admin.TEMPXX_ORG2.ORGCODE,db2admin.TEMPXX_ORG2.CONTACT,db2admin.TEMPXX_ORG2.ORGGRADE,db2admin.

     

    TEMPXX_ORG2.ORGPROP,db2admin.TEMPXX_ORG2.ORGLEVEL, db2admin.TEMPXX_ORG2.SERIALINDEX, db2admin.TEMPXX_ORG2.MEMO, 

     

    db2admin.TEMPXX_ORG2.PARENTORGUUID, db2admin.TEMPXX_ORG2.STATUS,ORGLEVELCODE,db2admin.TEMPXX_ORG2.DELTAG,db2admin.TEMPXX_ORG2.SEQUENCENO   
  4. from db2admin.TEMPXX_ORG2;  

子系统和组织的映射关系视图

 

  1. CREATE NICKNAME db2admin.TEMPXX_SYSORGSHORTCUT2 FOR tempserver.db2admin.TEMPXX_SYSORGSHORTCUT;   
  2. CREATE NICKNAME db2admin.TEMPXX_SYSTEM2 FOR tempserver.db2admin.TEMPXX_SYSTEM;   
  3. create view SYS_ORGSUBSYSREL as   
  4. select db2admin.TEMPXX_SYSORGSHORTCUT2.SYSID, db2admin.TEMPXX_SYSORGSHORTCUT2.  
  5. ORGUUID ,db2admin.TEMPXX_ORG2.CNNAME ,db2admin.  
  6. TEMPXX_SYSTEM2.SYSNAME,db2admin.TEMPXX_SYSTEM2.SYSPROP   
  7. from db2admin.TEMPXX_SYSORGSHORTCUT2,db2admin.TEMPXX_SYSTEM2,db2admin.TEMPXX_ORG2   
  8. where db2admindb2admin.TEMPXX_SYSORGSHORTCUT2.SYSID = db2admin.TEMPXX_SYSTEM2.SYSID and 

     

    db2admindb2admin.TEMPXX_SYSORGSHORTCUT2.ORGUUID = db2admin.TEMPXX_ORG2.ORGUUID;   

用户和组织的映射关系视图

 

  1. CREATE NICKNAME db2admin.TEMPXX_ORGPERSON2 FOR tempserver.db2admin.TEMPXX_ORGPERSON;   
  2. create view SYS_ORGPERSON as   
  3. select db2admin.TEMPXX_ORGPERSON2.PERSONUUID,db2admin.TEMPXX_ORGPERSON2.ORGUUID,  
  4. db2admin.TEMPXX_ORGPERSON2.ISBELONG from db2admin.TEMPXX_ORGPERSON2;   

用户和系统角色的映射关系视图

 

  1. CREATE NICKNAME db2admin.TEMPXX_RIGHTSHORTCUT2 FOR tempserver.db2admin.TEMPXX_RIGHTSHORTCUT;   
  2. CREATE NICKNAME db2admin.TEMPXX_ROLE2 FOR tempserver.db2admin.TEMPXX_ROLE;   
  3. CREATE NICKNAME db2admin.TEMPXX_ROLEDISABLE2 FOR tempserver.db2admin.TEMPXX_ROLEDISABLE;   
  4. create view SYS_RIGHTSHORTCUT as   
  5. select db2admin.TEMPXX_RIGHTSHORTCUT2.PERSONUUID, db2admin.TEMPXX_RIGHTSHORTCUT2.ROLEID,   
  6. db2admin.TEMPXX_ROLE2.SYSID ,db2admin.TEMPXX_ROLE2.CNNAMEfrom db2admin.TEMPXX_RIGHTSHORTCUT2,db2admin.
  7. TEMPXX_ROLE2 where db2admindb2admin.TEMPXX_RIGHTSHORTCUT2.ROLEID = db2admin.TEMPXX_ROLE2.ROLEID   
  8. except   
  9. select db2admin.TEMPXX_ROLEDISABLE2.PERSONUUID,db2admin.TEMPXX_ROLEDISABLE2.ROLEID, db2admin.TEMPXX_ROLEDISABLE2.SYSID ,
  10. db2admin.TEMPXX_ROLE2.CNNAME from db2admin.  
  11. TEMPXX_ROLEDISABLE2,db2admin.TEMPXX_ROLE2 where db2admindb2admin.TEMPXX_ROLEDISABLE2.ROLEID = db2admin.TEMPXX_ROLE2.ROLEID;   

用户和应用角色的映射关系视图

 

  1. create view SYS_APPROLE_PERSON as   
  2. select distinct db2admin.TEMPXX_RIGHTSHORTCUT2.PERSONUUID, db2admin.TEMPXX_PERSON2.
  3. CNNAME as PERSONNAME,db2admin.TEMPXX_ROLE2.CNNAME as ROLENAME,db2admin.TEMPXX_ROLE2.
  4. ROLECODE from db2admin.TEMPXX_RIGHTSHORTCUT2,db2admin.TEMPXX_ROLE2,db2admin.
  5. TEMPXX_PERSON2 where db2admindb2admin.TEMPXX_RIGHTSHORTCUT2.ROLEID = db2admin.TEMPXX_ROLE2.ROLEID and 
  6. db2admindb2admin.TEMPXX_RIGHTSHORTCUT2.PERSONUUID = db2admin.TEMPXX_PERSON2.PERSONUUID and TEMPXX_ROLE2.CREATEBY = '1'   
  7. except   
  8. select distinct db2admin.TEMPXX_ROLEDISABLE2.PERSONUUID, db2admin.TEMPXX_PERSON2.
  9. CNNAME as PERSONNAME,db2admin.TEMPXX_ROLE2.CNNAME as ROLENAME,db2admin.TEMPXX_ROLE2.
  10. ROLECODE from db2admin.TEMPXX_ROLEDISABLE2,db2admin.TEMPXX_ROLE2,db2admin.
  11. TEMPXX_PERSON2 where db2admindb2admin.TEMPXX_ROLEDISABLE2.ROLEID = db2admin.
  12. TEMPXX_ROLE2.ROLEID and db2admindb2admin.TEMPXX_ROLEDISABLE2.PERSONUUID = db2admin.TEMPXX_PERSON2.
  13. PERSONUUID and TEMPXX_ROLE2.CREATEBY = '1';   

以上的相关内容就是对DB2创建跨库视图的介绍,望你能有所收获。

【编辑推荐】

  1. DB2:信息管理 尽在掌握
  2. 跟踪DB2的SQL语句
  3. DB2 9 XML 性能优势
  4. DB2 V7存储过程构建环境设置的正确操作步骤描述
  5. Windows平台下DB2 Express-C的安装
责任编辑:佚名 来源: hi.baidu.com
相关推荐

2010-08-17 13:37:18

DB2 Online

2010-11-03 16:32:10

DB2创建数据库

2010-08-09 16:46:05

DB2备份

2010-08-18 09:09:15

DB2创建外键

2010-08-03 14:34:23

IBM DB2 ECO

2010-11-03 16:16:09

DB2目录视图

2010-11-03 11:36:53

访问DB2表

2010-08-05 15:17:43

DB2提高IMPORT

2010-11-02 14:08:29

DB2创建用户

2010-09-06 17:15:41

DB2数据库

2010-08-03 13:23:47

DB2自动增长主键

2010-11-02 11:36:10

DB2索引创建

2010-08-03 13:56:11

DB2表复制

2011-05-16 14:42:12

DB2数据库实用操作

2010-08-06 13:45:11

DB2提高IMPORT

2010-08-19 17:17:08

DB2数据库

2010-11-02 14:53:38

DB2权限

2010-11-02 11:56:36

DB2物化视图

2010-08-20 14:31:32

复制DB2数据库

2010-08-20 08:37:59

DB2创建外键
点赞
收藏

51CTO技术栈公众号