使用PowerDesigner导入已有DB2数据库中的表

参考链接

1、使用PowerDesigner导入已有DB2数据库中的表
https://www.iteye.com/blog/redhacker-1905115
对于反向导数据,网上的文章很多,但是DB2需要的dcp文件该如何生成,大部分未曾提交,这篇文章不仅提及了,而且是傻瓜式的教程,详细具体。
2、配置显示注释列comment
https://www.jianshu.com/p/79c65f1f2d5a

操作步骤

此篇文章主要用来备份以上参考链接的内容,侵权请联系删除。

一、创建数据库链接dcp文件

1.1、新建数据库连接

在这里插入图片描述
在这里插入图片描述

1.2、配置连接信息

在这里插入图片描述

1.3、选择需要的DB2数据库jar包

在这里插入图片描述
经本人测试:只需要导入:db2jcc.jar即可。

1.4、进行数据库连接测试

在这里插入图片描述
在这里插入图片描述

1.5、查看新建的数据库连接

在这里插入图片描述

二、创建物理模型

在这里插入图片描述在这里插入图片描述

三、从DB2数据库中导入表

3.1、选择数据库连接源

在这里插入图片描述
在这里插入图片描述

3.2、选择用户(schema)及对应的表

在这里插入图片描述

3.3、选择第一项,只显示可视化原件

在这里插入图片描述

3.4、导入表,并显示表

在这里插入图片描述
在这里插入图片描述

四、配置显示注释列comment

原始样式:默认显示两列,没有字段注释
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
调出执行命令的接口:在这里插入图片描述
执行的命令:

  • 从name替换comment
Option   Explicit   
ValidationMode   =   True   
InteractiveMode   =   im_Batch  
  
Dim   mdl   '   the   current   model  
  
'   get   the   current   active   model   
Set   mdl   =   ActiveModel   
If   (mdl   Is   Nothing)   Then   
      MsgBox   "There   is   no   current   Model "   
ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
      MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
Else   
      ProcessFolder   mdl   
End   If  
  
'   This   routine   copy   name   into   comment   for   each   table,   each   column   and   each   view   
'   of   the   current   folder   
Private   sub   ProcessFolder(folder)   
      Dim   Tab   'running     table   
      for   each   Tab   in   folder.tables   
            if   not   tab.isShortcut   then   
                  tab.comment   =   tab.name   
                  Dim   col   '   running   column   
                  for   each   col   in   tab.columns   
                        col.comment=   col.name   
                  next   
            end   if   
      next  
  
      Dim   view   'running   view   
      for   each   view   in   folder.Views   
            if   not   view.isShortcut   then   
                  view.comment   =   view.name   
            end   if   
      next  
  
      '   go   into   the   sub-packages   
      Dim   f   '   running   folder   
      For   Each   f   In   folder.Packages   
            if   not   f.IsShortcut   then   
                  ProcessFolder   f   
            end   if   
      Next   
end   sub  
  • 从comment替换name
Option   Explicit   
ValidationMode   =   True   
InteractiveMode   =   im_Batch  
  
Dim   mdl   '   the   current   model  
  
'   get   the   current   active   model   
Set   mdl   =   ActiveModel   
If   (mdl   Is   Nothing)   Then   
      MsgBox   "There   is   no   current   Model "   
ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
      MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
Else   
      ProcessFolder   mdl   
End   If  
  
Private   sub   ProcessFolder(folder)   
On Error Resume Next  
      Dim   Tab   'running     table   
      for   each   Tab   in   folder.tables   
            if   not   tab.isShortcut   then   
                  tab.name   =   tab.comment  
                  Dim   col   '   running   column   
                  for   each   col   in   tab.columns   
                  if col.comment="" then  
                  else  
                        col.name=   col.comment   
                  end if  
                  next   
            end   if   
      next  
  
      Dim   view   'running   view   
      for   each   view   in   folder.Views   
            if   not   view.isShortcut   then   
                  view.name   =   view.comment   
            end   if   
      next  
  
      '   go   into   the   sub-packages   
      Dim   f   '   running   folder   
      For   Each   f   In   folder.Packages   
            if   not   f.IsShortcut   then   
                  ProcessFolder   f   
            end   if   
      Next   
end   sub  

最终效果图如下:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值