日期:2014-05-16  浏览次数:20610 次

DB2联邦(DB2使用联邦功能链接DB2)

DB2联邦(DB2使用联邦功能链接DB2)

一、使用可视窗口创建联邦

1、打开控制中心,然后打开数据库,在其“联合数据库对象”文件右击单击“创建包装器”选项,打开创建包装器窗口,数据源选中DB2,添加包装器名称(名称只有不重复即可)。

clip_image002

切换到设置标签页,选中DB2_FENCED,使用其默认值“N”,“DB2_FENCED”属性用来指定包装器是以受保护方式还是可信方式运行,默认值“N”表示包装器以可信方式方式运行。

clip_image004

点击显示SQL可以查看创建包装器的SQL语句:

CREATE WRAPPER DRDA2 LIBRARY 'db2drda.dll' OPTIONS ( ADD DB2_FENCED 'N') ;

注:在创建包装器可能出现“对指定的操作启用数据库实例”,原因码:”1”。设置配置FEDERATED为yes即可解决该问题,详见三需注意的问题第一点。

2、选择刚才创建的包装包DRDA2,右击“服务器定义”,单击创建到“创建服务器定义“。

clip_image006

单击发现,可以查看数据库列表,选择要联邦的数据库,选择类型和版本,

clip_image008

单击属性设置服务器器定义,填写用户标识和密码:

clip_image010

点击显示SQL可以查看创建服务器的SQL语句:

CREATE SERVER APPDB TYPE DB2/UDB VERSION '9.7' WRAPPER DRDA2 AUTHID "db2admin" PASSWORD "*****" OPTIONS( ADD DBNAME 'APPDB');

3、创建用户映射:点击用户映射,右击“创建“,选择本地用户标识

clip_image012

切换到设置标签页,设置远程数据库的用户标识和密码:

clip_image014

查看SQL语句:

CREATE USER MAPPING FOR ADMINISTRATOR SERVER FILEDB OPTIONS ( ADD REMOTE_AUTHID 'db2admin', ADD REMOTE_PASSWORD '*****') ;

4、创建昵称,点击昵称,右击“创建”到创建昵称对话框:

clip_image016

点击“添加”到添加昵称对话框,填写昵称(昵称不可重名),添加远程模式和远程表名:

clip_image018

也可以点发现通过模式或表面查找远程表

clip_image020

创建昵称的SQL语句:

CREATE NICKNAME DB2ADMIN.USERTBL FOR APPDB.DB2ADMIN.USERTBL;

二、通过SQL创建联邦

上面通过窗口创建都有对应的SQL语句:

1、创建安装包:

CREATE SERVER APPDB TYPE DB2/UDB VERSION '9.7' WRAPPER DRDA2 AUTHID "db2admin" PASSWORD "*****" OPTIONS( ADD DBNAME 'APPDB');

2、创建服务器定义

CREATE SERVER APPDB TYPE DB2/UDB VERSION '9.7' WRAPPER DRDA2 AUTHID "db2admin" PASSWORD "*****" OPTIONS( ADD DBNAME 'APPDB');

3、创建用户映射

CREATE USER MAPPING FOR ADMINISTRATOR SERVER FILEDB OPTIONS ( ADD REMOTE_AUTHID 'db2admin', ADD REMOTE_PASSWORD '*****') ;

4、创建昵称

CREATE NICKNAME DB2ADMIN.USERTBL FOR APPDB.DB2ADMIN.USERTBL;

三、需注意的问题:

1、提示为对指定的操作启用数据库实例,原因:为设置配置项的FEDERATED为yes。解决方法:update dbm cfg using FEDERATED yes,设置后停止服务器,再启动服务器。

clip_image022

2、DB2联邦的权限:具有DB2管理员的权限才可以创建数据库联邦。

3、用户映射:本地用户和远程远程的权限问题。

http://www.cnblogs.com/zhaozhan/archive/2009/11/24/1609947.html