【陈敏】MTK工具可以帮你完成哪些数据库移植任务(2)

上一篇 / 下一篇  2008-06-24 15:05:36 / 个人分类:IBM

有三个任务选项:

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-name20 Object name has been changed to new-name

转换后的DB2脚本文件名称是ora2db2.db2 

任务4.转换非DB2数据库的DML脚本到DB2脚本

 由于各个数据库厂商所支持的SQL有所差别,所以在OracleSqlServer可以运行的SqlDB2不一定可以。我们可以使用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  



TAG: mtk

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2008-10-14  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 14207
  • 日志数: 110
  • 建立时间: 2008-03-27
  • 更新时间: 2008-06-24

RSS订阅

Open Toolbar