oracle_powerdesinger逆向工程 , PDM 文件 注

系统 1949 0

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_powerdesinger逆向工程 , PDM 文件 注释到name的完美解决方案 comment2name


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论