数据库开发管理人员经常需要在客户端机器将开发数据库的特定数据导入到测试环境中去。
Data Studio 4.1.1 支持 DB2 客户端 CLP,因此我们不需要整个数据库的备份恢复,也不需要将导出的数据在不同机器间拷贝。通过任务向导或者 SQL 编辑器,Data Studio 可以很容易将开发数据库的特定数据导入测试数据库的制定表。本文将通过两个实例介绍 IBM Data Studio 是如何帮助我们在客户端完成不同数据库之间的数据迁移。
回页首
操作步骤:
在 Data Studio 中创建的连接是不能使用 DB2 客户端 CLP 功能的,因此我们需要对源数据库以及目标数据库进行编目。Data Studio 会自动创建编目数据库连接
图 1. 在 DB2 客户端 CLP 中对源数据库编目
图 2. 在 DB2 客户端 CLP 中对目标数据库编目
编目完成之后,需要重启 Data Studio 以便于 Data Studio 创建对应的编目数据库连接。
图 3. 重启 Data Studio
通过重启 Data Studio,我们可以看到编目数据库连接列在了管理视图中。并且它的名字最后是 [DB2 Alias],只有这种类型的数据库连接才能使用 DB2 客户端 CLP 功能。
图 4. Data Studio 自动创建的编目数据库连接
在此,我们双击 SAMPLE3[DB2 Alias] 打开连接属性并输入正确的用户名和密码完成连接配置。同理完成 SAMPLE1[DB2 Alias] 的连接配置。
图 5. 输入连接用户名密码
在 Administrator Explorer 视图下,找到刚才新创建的连接,依次展开以下节点位置->实例->数据库 SMPLE3->TABLES 文件夹。
图 6. 展开 TABLE 文件夹
数据库对象列表编辑视图中,右键点击一个包含数据的表,选择 Unload -> With Export Utility,本例使用测试表 DB2INST2.ACT。
图 7. 在表的列表编辑视图中选择 Export 工具
在弹出的表数据的导出任务向导中, 选择 DB2 Client CLP 作为 run method。
图 8. 选择 DB2 Client CLP
在任务向导中的 Target 页面,保持默认的 Create a new file 选项,并输入期望保存的路径以及文件名。在本例中,EXPORT 出的数据将被保存在 E 盘根目录下的 migration_clp.csv 文件中。
图 9. 选择导出到客户端的文件路径及文件名
在任务向导中的 Source 页面,我们可以指定都有哪些数据需要导出。
图 10. 指定需要导出的数据
保持其它设置为缺省值。点击向导中的链接 Preview Command, 您将看到为导出产生的 DDL,之后点击按钮 Run 以完成向导。
图 11. 预览生成的 ddl 之后点击按钮完成向导
点击查看大图
关闭 [x]
之后我们可以在在 Data Studio 的 SQL Results 视图中查看执行结果,在向导的最下部也有执行的情况显示。
图 12. 检查 ddl 执行结果
至此,源数据库 SAMPLE3 中表 ACT 的所有数据已导出到 Data Studio 所在客户端的 E 盘 migration_clp.csv 文件中。下一步,实例将演示使用 Data Studio 将数据导入到目标数据库中。
首先,我们在目标数据库 SAMPLE1 创建新的表格用于数据导入
清单 1. 创建用于数据导入的表
CREATE TABLE ACT_MIGRATE("ACTNO" SMALLINT NOT NULL, "ACTKWD" CHAR(6) NOT NULL, "ACTDESC" VARCHAR(20) NOT NULL);
在 Administrator Explorer 视图下,找到目标数据库的连接,依次展开以下节点位置->实例-> 数据库 SMPLE1->TABLES 文件夹。
图 13. 展开 TABLE 文件夹
数据库对象列表编辑视图中,右键点击我们刚创建的表 ACT_MIGRATE,选择 Load -> With Load Utility。
图 14. 在表的列表编辑视图中选择 LOAD 工具
在弹出的表数据的导入任务向导中, 选择 DB2 Client CLP 作为 run method。选择 REPLACE 作为 Load action。
图 15. 选择 DB2 Client CLP 和 REPLACE
浏览文件选取我们刚才导出的文 E:/migration_clp.csv。
图 16. 选择文件 migration_clp.csv
保持其它设置为缺省值。点击向导中的链接 Preview Command, 您将看到为导出产生的 DDL,之后点击按钮 Run 以完成向导。
图 17. 预览生成的 ddl 之后点击按钮完成向导
之后我们可以在在 Data Studio 的 SQL Results 视图中查看执行结果,在向导的最下部也有执行的情况显示。
图 18. 检查 ddl 执行结果
我们通过在 SQL 编辑器中查询语句可以确认源数据库的表数据已经导入到目标数据库。
图 19. 检查源数据库中数据是否已成功导入目标数据库
点击查看大图
关闭 [x]
通过上述实例可以看到,使用 DB2 客户端和 Data Studio 能够在图形界面完成数据库数据的迁移而不需要进行数据的拷贝传输。
回页首
在 SQL 编辑器中使用 DB2 客户端 CLP,可以在一个 SQL 脚本中完成不同环境数据库数据的迁移。
本实例将沿用实例一中创建的编目数据库 SAMPLE3 和 SAMPLE1。
在 Administrator Explorer 视图下,点击数据库 SAMPLE3 之后点击按钮 New SQL script。
图 20. 创建新的 SQL 脚本
在 configuration 标签下,选择 DB2 Client Command Line Processor 作为 Run method。
图 21. 设置脚本的 Run Method
在 SQL 编辑器中,输入如下的命令:
清单 2. 在 SQL 编辑器中输入的命令
CONNECT TO SAMPLE3; EXPORT TO "E:/migrate_sql.ixf" OF IXF SELECT * FROM DB2INST2.ACT WHERE ACTNO>50; CONNECT RESET; CONNECT TO SAMPLE1 user db2inst1 using passw0rd; IMPORT FROM "E:/migrate_sql.ixf" OF IXF REPLACE_CREATE INTO DB2INST1.ACT_MIGRATE; CONNECT RESET;
图 22. SQL 脚本执行的结果
从上图我们可以看到,源数据库 SAMPLE1 不是 SQL 编辑器当前指向的数据库。所以需要清楚的制定它的用户名和密码。只有这样,Data Studio 才能同时执行 export 和 import 已完成数据的迁移。
通过 SQL Result 视图能看到, 源数据库中 SAMPLE3 表 ACT 的 13 行数据迁移到了目标数据库 SAMPLE1 表 ACT_MIGRATE 中。
回页首
Data Studio 提供任务向导和 SQL 编辑器两种方式进行不同环境的数据迁移。任务向导的易用性以及 SQL 编辑器的强大功能满足了不同层次的用户。不论是初级还是高级的数据库管理员都可以从中获益。