DS4.1 创建 Nickname 的自动发现功能
DS4.1 创建 Nickname 的自动发现功能是指在创建 Nickname 时能够让 DS 自动列出所有远程数据源上的表让用户选择,而不是手动地输入远程表的名字。在 DS4.1 中对 DB2 联邦数据库支持的 8 种数据源中,仅对 JDBC 不支持 Nickname 的自动发现功能,对于其它 7 中数据源全部支持。
本节也是用实例讲解同时为 Oracle,Teradata,Sql Server,Sybase 这 4 个远程数据源上的多个表同时创建 Nickname.
1. 按照本文的第一个实例,为配置好的各类数据源依次创建 Wrapper,Remote Server 和 User Mapping。
2. 在 DS 的 AE 视图中,展开 DB2 联邦数据库的节点,再展开文件夹 Federated Database Objects,右键点击文件夹 Nicknames,选择 Discover and Create Nicknames。在弹出的对话框中为要创建的 Nickname 选择一个 Schema。请参考图 14,然后点击确定按钮。您将会看到弹出的”发现和创建 Nickname”的向导。如下图 18.
图 18. 发现和创建 Nickname 的向导 .3. 选择为远程数据源所创建的 Remote Server 展开以上向导中的下拉列表,会列出您在 DS 中创建的所有的 Remote Server,在列表中选择我们为 ORACLE 创建的 Remote Server,远程 ORACLE 上所有的表都会被显示在向导的表中,如下图 19
图 19. 列出远程 ORACLE 数据库上的表 .4. 选择要创建 Nickname 的远程表 在以上图的表中,第二列 Nickname 指的是将要创建的 Nickname 的名字,默认和远程表的名字一样。用户可以勾选要创建的 Nickname 的远程表,编辑此列它们指定新的 Nickname 的名字,如下图 20.
图 20. 选择远程 ORACLE 中的表并为它们指定 Nickname.上图中选择了 3 个 ORACLE 上的表创建 Nicknane。 接下来我们再在下拉列表中选择为其它数据源创建的 Remote Server,并在列出的表中选择表创建 Nickname。请参考以下图 21。
图 21. 选择远程 Teradata 中的表并为它们指定 Nickname上图中在 Teradata 上选择了两个表创建 Nickname。
图 22. 选择远程 SQL Server 中的表并为它们指定 Nickname上图中在 SQL Server 上选择了两个表创建 Nickname。
图 23. 选择远程 Sybase 中的表并为它们指定 Nickname上图中在远程 Sybase 上选择了两个表创建 Nickname。读者可能已经发现,随着我们不断地选择一些远程数据源上的表创建 Nickname,向导中 Selected Nicknames 的数字也在不断地变化,我们一共要创建 9 个 Nickname 对象。点击按钮 Create Selected Nicknames,将要创建的 9 个 Nickname 会列在 DS 的 OLE 视图中,如下图 24。
图 24. 在 OLE 中列出的将要创建的 Nickname从上图中我们可以看到,自动创建的更改计划中包含 9 个操作,也就是我们将要创建 9 个 Nickname 的操作。
5. 预览并部署更改计划
点击更改计划工具条上绿色的运行按钮 (Review and Deploy Changes)。我们可以看到 DS 在弹出的预览部署对话框中生成了所有操作的 DDL,如下图 25。
图 25. 预览生成的 DDL点击运行按钮,从 SQL Result 视图中我们可以看到所有 Nickname 被成功创建,如下图 26。
图 26. 成功地一次为多个数据源上的多个表创建 Nickname