PowerDesigner 16 逆向生成 oracle pdm

软件版本

PowerDesigner 16

oracle11g


第一步:

---> 在下面弹出框中 选择自己数据库版本,点击"确定"

--->

-->

-->如图中选择,点击 Modify 弹出如下对话框


--》填写相对应的数据连接信息,点击“Test Connection” 按钮,测试数据源是否能连接数据库

-->测试成功,点击 确定 按钮

-->

-->点击 确定


--如上图,点击OK  然后生成 PDM 文件。

如果想给 表名,字段名 添加注释,需要如下操作。

修改导出sql




导出sql 为:

{OWNER, TABLE, TABLE_TYPE, COMMENTS}

select
   t.owner,
   t.table_name, 
c.table_type, 
c.comments
from
   sys.all_all_tables t,
sys.USER_TAB_COMMENTS c 
where
   not exists (select 1 from sys.all_mviews s where s.owner = t.owner and t.table_name in (s.mview_name, s.update_log))
   and t.iot_name is null
   and nvl(t.dropped, 'NO') = 'NO'
and t.table_name = c.table_name(+)
   and substr(t.table_name, 1, 5) not in ('MLOG$', 'RUPD$')
[  and t.table_name=%.q:TABLE%]
[  and t.owner=%.q:SCHEMA%]
order by
   t.owner, t.table_name

以上,重新执行开始 导出pdm ,表名会自动添加注释。


------------------------------------------------------------------------------------------------------------------------------------------------------------

使用脚本把 name 设置为 comments

在此操作之前,先设置code不跟随name改变。选择菜单中Tools->General Options...,在打开的窗口中找到Dialog,去掉Name to Code mirroring 前面的勾,点击OK

选择菜单中Tools->Excute Commands -> Edit/Run Scripts... 在打开的窗口中粘贴如下脚本,点击Run按钮,等待执行完成即可。

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 code 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     
if len(tab.comment) <> 0 then     
tab.name = tab.comment     
end if     
On Error Resume Next     
Dim col 'running column     
for each col in tab.columns     
if len(col.comment) <>0 then     
col.name =col.comment     
end if     
On Error Resume Next     
next     
end if     
next     
end sub 










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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值