zoukankan      html  css  js  c++  java
  • 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
    
    
    
     
  • 相关阅读:
    项目经理所需要具备的素质
    项目经理的个人修养
    项目拖期怎么办
    创业起步的十大准备步骤
    注册(创办)公司的手续过程
    如何让女人每天更快乐
    全面比较:中美两国百姓的生活成本
    ADO.NET级别的事物
    respondsToSelector的使用
    用js在两个页面之间传值
  • 原文地址:https://www.cnblogs.com/cphmvp/p/3437258.html
Copyright © 2011-2022 走看看