oracle_powerdesinger逆向工程 , PDM 文件 注释到name的完美解决方案 comment2name

1、 从oracle 到 PDM文件  逆向工程中 ,需要注意 去掉“” ,这个百度下很多帖子,用于去掉引号 

2、 从注释copy到name运行脚本会有个问题就是 ,有些注释太长,不美观 

解决方案, vb脚本判断注释中是否含有 空格,如果含有去 以空格 spilt后的数组的第一个 为 name,  要求 写注释时 描述性文字 在字段名字后 要以空格 分开 例如

code : flag 。库中 comment: 标志位 :1、有效】 【0 、无效】 默认【1】

这样逆向工程出来的效果 

oracle_powerdesinger逆向工程 , PDM 文件 注释到name的完美解决方案 comment2name

3 运行脚本 如下 [运行方法 ,选中pdm文件中的表 ctrl+shift+X ,粘贴 复制 run ]

commet2namePerfect.vbs

 
'******************************************************************************

'* File:     commet2namePerfect.vbs

'* Title:    commet to Name Conversion

'* Purpose:  To 

'

'* Model:    Physical Data Model for  Reverse Enginner

'* Category: Naming Standards

'* Author:   cphmvp

'* Created:  Nov 22, 2013

'* Mod By:   

'* Modified: 

'* Version:  1.0

'* Comment:  

'*  v1.0 - Must have Conversion Tables assigned as a model option

'******************************************************************************



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

if instr(tab.comment," ")>0 then 

tab.name =split(tab.comment," ")(0) 

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

if instr(col.comment," ")>0 then 

col.name =split(col.comment," ")(0) 

end if

On Error Resume Next

next

end if

next

end sub
 
  

 

 

 

 

你可能感兴趣的:(oracle)