powerdesinger pdm 完成数据库的迁移

    技术2022-05-11  119

    通过pdm完成数据库的迁移 oracle 到db2的迁移过程 导出已有oracle数据库的pdm 选择powerdesinger的菜单栏Database-change current DBMS  弹出对话框 在 NEW DBMS 中选择 IBM DB2 UDB 8.X common server 你可以根据自己的数据库的类型做出对应选择 此时数据库中表的字段的转换都是powerdesinger自己初始定义好的字段 譬如 oracle中字段为varchar2(10) 会转换成db2中varchar(10) ORACLE 中Date会转换成DB2中的Date 如果此时想自定义数据类型 譬如我想把 Oracle中Date类型转换成DB2中Timestamp类型 那么我们可以改变powerdesinger中 DB2的配置文件 打开powerdesinger的安装目录找到Resource files然后进入DBMS 我现在db2的类型是8.X COMMON SERVER 所以选择对应的文件db2mvs8.xdb 用ultraedit打开 找到<a:MapTargetItem.Value><UNDEF>=<Undefined> 然后可以看到下面对应的都是powerdesinger默认的数据类型 <a:MapTargetItem.Value><UNDEF>=<Undefined> A%n=CHAR(%n) VA%n=VARCHAR(%n) LA=VARCHAR LA%n=VARCHAR(%n) LVA=VARCHAR LVA%n=VARCHAR(%n) BT=SMALLINT BT%n=NUMERIC(3, 0) SI=SMALLINT I=INTEGER LI=INTEGER N=DEC N%n=DEC(%n) N%s,%p=DEC(%s, %p) DC=DEC DC%n=DEC(%n) DC%s,%p=DEC(%s, %p) SF=REAL F=FLOAT F%n=FLOAT(%n) LF=DOUBLE PRECISION MN=DEC(8, 2) MN%n=DEC(%n) MN%s,%p=DEC(%s, %p) D=DATE T=TIME DT=DATE TS=TIMESTAMP BL=SMALLINT NO=DEC(6) NO%n=DEC(%n) BIN%n=BLOB(%n) LBIN=BLOB LBIN%n=BLOB(%n) TXT=CLOB TXT%n=CLOB(%n) MBT=CHAR MBT%n=CHAR(%n) VMBT=VARCHAR(255) VMBT%n=VARCHAR(%n) PIC=GRAPHIC PIC%n=GRAPHIC(%n) BMP=DBCLOB BMP%n=DBCLOB(%n) OLE=BLOB OLE%n=BLOB(%n) *=CHAR(10) XMLCLOB=DB2XML.XMLCLOB XMLVARCHAR=DB2XML.XMLVARCHAR XMLFILE=DB2XML.XMLFILE</a:MapTargetItem.Value> <a:List><UNDEF> 要把oracle中的Date转换成DB2的timestamp只要把D=DATE,DT=DATE 改为D=TIMESTAMP,DT=TIMESTAMP即可,其他字段的转换同理 然后可以把PDM 生成到数据库中 :)希望对你有所帮助 当然实现像DB2数据库的迁移IBM 的 MTK 是个不错的选择呵呵.

    最新回复(0)