有三个任务选项:
Launch script-name in the database
extract and store data on this system
Load data to target database using generated scripts
选择extract and store data on this system选项,单击Deploy按钮
生成的数据文件会放在C:\MTK\projects\ora2db2\DataOutScripts目录下,其中C:\MTK\是MTK安装目录,projects\ora2db2是项目目录,每个表会生成一个文件,命名规则如图所示

任务3.转换非DB2数据库的DDL脚本到DB2脚本
对于MTK工具来说,非DB2数据库的DDL脚本,有2种来源,一种是在任务1中介绍过的,通过Specify Source窗口的Extract按钮直接从源数据库中抽取的脚本,另一种是已有的DDL脚本,可以通过Specify Source窗口的Import按钮导入到MTK工具中。
DDL脚本导入MTK工具内后就可以进行转换工作了,转到Convert窗口中,按GlabalType Mapping按钮,可以看到非DB2数据库的字段类型到DB2的字段类型默认对应方式,这些映射关系中有些是不能更改的,但其中有小笔头的图标的地方是可以更改的,在真实移植任务中可以根据实际情况进行更改,如Oracle中经常有字段定义成Mnmber类型,由于没有给固定长度,默认MTK转成Float类型,这显然与实际不符,需要根据实际情况修改成适当的类型,如下图所示

选定之后就可以按Convert按钮进行转换了,转换完成之后会在Refine窗口出现转换报告,仔细检查Translator Information,确认所有语法都被转换,没有重大错误。注意,有些错误或警告可以忽略掉。例如:16 Duplicate definition of object-name;20 Object name has been changed to new-name。
转换后的DB2脚本文件名称是ora2db2.db2
任务4.转换非DB2数据库的DML脚本到DB2脚本
由于各个数据库厂商所支持的SQL有所差别,所以在Oracle,SqlServer可以运行的Sql在DB2不一定可以。我们可以使用MTK帮助我们将其他数据库的sql转换成DB2认可的sql,包括建表sql增删改查sql以及存储过程。
在MTK工具中,在下拉菜单点击Tools -> SQL Translator,弹出SQL Translator窗口,在窗口空白处填入要转换的sql,点击Convert按钮转换,转换后的sql显示在下方,并提供解释信息,如下图

在此例子中转换结果如下:
Oracle SQL:
selectempno,ename,nvl(comm,'0') fromempwherecommis null;
DB2 SQL:
SELECT EMPNO,
ENAME,
COALESCE(COMM, ORA.TO_NUMBER('0'))
FROM EMP
WHERE COMM IS NULL!
转换解释信息:
--*[300108]Translation Ratio: 100% (1/1 statements were translated successfully)
注意这些解释信息,它详细描述了转换结果,包括成功率,哪些字段或变量无法识别,哪些无法转换等等。
任务5.转换后的脚本部署到DB2数据库上
这个任务可以在MTK工具的Deploy to Target窗口完成。
在任务3中我们已经完成转换工作,现在可以脚本ora2db2.db2部署到DB2数据库中。
转到Deploy to Target窗口,
在DB2 target里输入目标数据库名,数据库的用户和口令,在三个任务选项中选择Launch ora2db2.db2 in the database
点击Deploy按钮即可将转换后的脚本发布到DB2上。注意MTK工具在部署完成后会弹出一个部署结果报告,通过这个报告你可以了解是否部署成功,以及哪些成功哪些失败。如下图:

另外有了ora2db2.db2脚本文件也可以通过db2命令部署到DB2数据库上
db2 –tvfora2db2.db2