创建DB2跨库视图步骤

最近因为工作问题,需要在DB2数据库上创建跨库视图,但从网上查了不少资料都是同一篇文章的copy,以下是本人整理总结并经过测试通过。

案例描述:
  在dbname数据库中创建dbname1数据库视图。

步骤(红字标识的是可替换的内容):

1.连接数据库

  connect to dbname user username using password;

2. 创建WRAPPER 的 DDL 语句        
CREATE WRAPPER "DRDA"
   LIBRARY 'db2drda.dll'
   OPTIONS (DB2_FENCED  'N');

3. 创建SERVER 的 DDL 语句           
CREATE SERVER tempserver
   TYPE DB2/UDB
   VERSION 8.1
   WRAPPER DRDA
   AUTHORIZATION "username1"
   PASSWORD "password1"
   OPTIONS
     (DBNAME  'dbname1');

上面指定的dbname1是远程数据库的名称,username1和password1是它的用户名及密码。
4. 创建USER MAPPING 的 DDL 语句         
CREATE USER MAPPING FOR db2admin
   SERVER tempserver                           --此处tempserver名称就是步骤3创建的server
   OPTIONS
     (REMOTE_AUTHID  'dbname1',
      REMOTE_PASSWORD  'password'
     );

5. 创建跨库视图

CREATE NICKNAME PERSON FOR tempserver.PERSON;

create view SYS_PERSON as
select *
from PERSON ;
需要注意,上面语句中NICKNAME和VIEW的名称不能相同。

  在上面创建跨库视图的步骤中还存在几个问题,如果有人清楚请给指点:
     1. 两个数据库如果是建立在不同的机器上,步骤3、4该如何写?
     2. 步骤2、3、4的语句作用是什么?

posted @ 2010-04-19 22:00  JStar  阅读(2426)  评论(0编辑  收藏  举报