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。