DB2跨库访问表


今天和大家聊聊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。

本文永久更新链接地址

相关内容