oracle_powerdesinger逆向工程 , PDM 文件 注释到name的完美解决方案 comment2name
1、 从oracle 到 PDM文件 逆向工程中 ,需要注意 去掉“” ,这个百度下很多帖子,用于去掉引号
2、 从注释copy到name运行脚本会有个问题就是 ,有些注释太长,不美观
解决方案, vb脚本判断注释中是否含有 空格,如果含有去 以空格 spilt后的数组的第一个 为 name, 要求 写注释时 描述性文字 在字段名字后 要以空格 分开 例如
code : flag 。库中 comment: 标志位 : 【1、有效】 【0 、无效】 默认【1】
这样逆向工程出来的效果
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
create by cphmvp
email:cphmvp@163.com
爬虫技术交流_crawler QQ群 :167047843