DB2跨库访问表

2015-07-16 12:07:36 · 作者: · 浏览: 0

今天和大家聊聊DB2跨数据库访问表是如何实现的?因为自己花了很长时间,才测试成功,所以决定和大家分享一下!


好了,废话不多说了!我们言归正传,首先你要安装了DB2数据库,然后在开始菜单中,找到如下位置:



打开之后,输入


db2


进入db2编辑模式,如下所示:



下面的命令顺序执行:


update dbm cfg using Federated YES; // 开启数据库联合查询


db2stop force;


db2start; // 重启数据库方可生效


接下来,需要连接到具体的数据库,举个例子,假如有A库和B库,现在你要在A库中访问B库的表,那么这里连接的就是A库了


connect to [数据库名称] user [用户名] using [密码]


此时的[数据库名称]就是A库了。


顺序执行如下命令:


create wrapper drda; // 创建DRDA包装器(WRAPPER)


create server [数据库服务器别名] type db2/AIX version 9 wrapper drda authorization ["用户名"] password ["密码"] options(dbname ['数据库名称']); // 创建服务器(SERVER)


这里,我们将数据库服务器别名命名为:B,后边会用到的。


create user mapping for ["用户名"] SERVER ["数据库服务器别名"] OPTIONS (REMOTE_AUTHID ['用户名'] , REMOTE_PASSWORD ['密码']); // 创建用户映射


此处的,数据库服务器别名应为:B,与上文对应。


create nickname NK_Student for 数据库服务器别名.用户名.Student; // 创建表的昵称


这里的数据库服务器别名与上对应为:B。


至此,你就可以像这样在A库中访问B库中的Student表了:select * from NK_Student。