在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般在NAME或Comment中写中文,在Code中写英文。Name用来显 示,Code在代码中使用,但Comment中的文字会保存到数据库Table或Column的Comment中,当Name已经存在的时候,再写一次 Comment很麻烦,可以使用以下代码来解决这个问题:

  • 代码一:将Name中的字符COPY至Comment中

    1. Option   Explicit
    2. ValidationMode   =   True
    3. InteractiveMode   =   im_Batch
    4. Dim   mdl   '   the   current   model
    5. '   get   the   current   active   model
    6. Set   mdl   =   ActiveModel
    7. If   (mdl   Is   Nothing)   Then
    8. MsgBox   "There   is   no   current   Model "
    9. ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then
    10. MsgBox   "The   current   model   is   not   an   Physical   Data   model. "
    11. Else
    12. ProcessFolder   mdl
    13. End   If
    14. '   This   routine   copy   name   into   comment   for   each   table,   each   column   and   each   view
    15. '   of   the   current   folder
    16. Private   sub   ProcessFolder(folder)
    17. Dim   Tab   'running     table
    18. for   each   Tab   in   folder.tables
    19. if   not   tab.isShortcut   then
    20. tab.comment   =   tab.name
    21. Dim   col   '   running   column
    22. for   each   col   in   tab.columns
    23. col.comment=   col.name
    24. next
    25. end   if
    26. next
    27. Dim   view   'running   view
    28. for   each   view   in   folder.Views
    29. if   not   view.isShortcut   then
    30. view.comment   =   view.name
    31. end   if
    32. next
    33. '   go   into   the   sub-packages
    34. Dim   f   '   running   folder
    35. For   Each   f   In   folder.Packages
    36. if   not   f.IsShortcut   then
    37. ProcessFolder   f
    38. end   if
    39. Next
    40. end   sub

另外在使用REVERSE ENGINEER从数据库反向生成PDM的时候,PDM中的表的NAME和CODE事实上都是CODE,为了把NAME替换为数据库中Table或Column的中文Comment,可以使用以下脚本:

  • 代码二:将Comment中的字符COPY至Name中

    1. Option   Explicit
    2. ValidationMode   =   True
    3. InteractiveMode   =   im_Batch
    4. Dim   mdl   '   the   current   model
    5. '   get   the   current   active   model
    6. Set   mdl   =   ActiveModel
    7. If   (mdl   Is   Nothing)   Then
    8. MsgBox   "There   is   no   current   Model "
    9. ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then
    10. MsgBox   "The   current   model   is   not   an   Physical   Data   model. "
    11. Else
    12. ProcessFolder   mdl
    13. End   If
    14. Private   sub   ProcessFolder(folder)
    15. On Error Resume Next
    16. Dim   Tab   'running     table
    17. for   each   Tab   in   folder.tables
    18. if   not   tab.isShortcut   then
    19. tab.name   =   tab.comment
    20. Dim   col   '   running   column
    21. for   each   col   in   tab.columns
    22. if col.comment="" then
    23. else
    24. col.name=   col.comment
    25. end if
    26. next
    27. end   if
    28. next
    29. Dim   view   'running   view
    30. for   each   view   in   folder.Views
    31. if   not   view.isShortcut   then
    32. view.name   =   view.comment
    33. end   if
    34. next
    35. '   go   into   the   sub-packages
    36. Dim   f   '   running   folder
    37. For   Each   f   In   folder.Packages
    38. if   not   f.IsShortcut   then
    39. ProcessFolder   f
    40. end   if
    41. Next
    42. end   sub

以上两段代码都是VB脚本,在PowerDesigner中使用方法为:

PowerDesigner->Tools->Execute Commands->Edit/Run Scripts

将代码Copy进去执行就可以了,是对整个CDM或PDM进行操作

PowerDesigner 逆向中 Name和Comment互换的更多相关文章

  1. PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型),把Comment写到name中,pdm文件导出为word

    PowerDesigner逆向操作(从mysql5.0生成数据库的物理模型) 环境:powderdesigner12.5:mysql5.0步骤:1. 为指定的数据库配置mysql的ODBC数据源先下载 ...

  2. PowerDesigner 的mysql PDM 的COMMENT注释

    PowerDesigner 的mysql PDM 的COMMENT注释 2012-11-01 15:38 4447人阅读 评论(0) 举报 分类: 数据库相关(7) PowerDesigner 的my ...

  3. android apk 逆向中常用工具一览

    关于apk 逆向中的一些工具的使用,看了不少文章,也使用过有很长一段时间了,今天对此做一总结: 几种文件之间的转换命令: 1. odex -> smali java -jar  baksmali ...

  4. C#中文件和byte[]互换问题

    如何将图片和声音转化成byte[],并通过webservice进行传输?    如何将webservice传输过来的byte[],转化成我们想要的文件?    (一)文件转化为byte[]    方法 ...

  5. 逆向中静态分析工具——IDA初学者笔记之字符串分析

    逆向中静态分析工具——IDA初学者笔记之字符串分析 程序中往往包含很多字符串资源,这些资源存在于PE文件的rdata段,使用IDA反编译后,可以查找到这些字符串, 逆向破解程序通常需要一个突破点,而这 ...

  6. 逆向中静态分析工具——IDA初学者笔记

    逆向中静态分析工具——IDA初学者笔记 //****************************************************************************** ...

  7. 安卓日常开发和逆向中常用的shell命令与非shell命令

    简述shell 命令与 非shell命令区别 shell命令不用先adb shell进入界面执行 非shell命令必须要 adb shell进入界面执行 基础非shell命令 1.安装app adb ...

  8. RPC 技术及其框架 Sekiro 在爬虫逆向中的应用,加密数据一把梭!

    什么是 RPC RPC,英文 RangPaCong,中文让爬虫,旨在为爬虫开路,秒杀一切,让爬虫畅通无阻! 开个玩笑,实际上 RPC 为远程过程调用,全称 Remote Procedure Call, ...

  9. PowerDesigner中NAME和COMMENT的互相转换,需要执行语句

    原文: http://www.cnblogs.com/xnxylf/p/3288718.html 由于PDM 的表中 Name 会默认=Code 所以很不方便, 所以需要将 StereoType 显示 ...

随机推荐

  1. PHP递归重新排序无限级分类数组

    public static function Menus($id,$spac=0){ /* $data = array( 1 => array('id' => 1,'name' => ...

  2. 游戏AI框架

  3. LeetCode---String

    Count and Say 思路:递归求出n - 1时的字符串,然后双指针算出每个字符的次数,拼接在结果后面 public String countAndSay(int n) { if(n == 1) ...

  4. 配置文件的生成,关于“make menuconfig”

    之前学习嵌入式的时候从来没有注意过内核源文件下配置文件的生成(都是跟着老师的步骤直接复制过来修改成.config),其实意思也差不多,只是我没有细想其所以然: 编译内核的过程中,配置文件生成过程,A. ...

  5. SQL分页语句

    有关分页 SQL 的资料很多,有的使用存储过程,有的使用游标.本人不喜欢使用游标,我觉得它耗资.效率低:使用存储过程是个不错的选择,因为存储过程是经过预编译的,执行效率高,也更灵活.先看看单条 SQL ...

  6. 兼容性js中setTimeout 传参“保值”方案

    这里所谓“保值”,是指在setTimeout中指定的时间后,执行指定的方法所用到的“参数”值,跟执行setTimeout时该“参数”值一样.是不是有点懵?看如下例子: ================ ...

  7. linux---mysql安装

    一.查询本机是否有mysql service mysql status 二.检查已安装的mysql版本 mysql –uroot -p status 三.查看已安装的mysql的组件 dpkg --g ...

  8. Python 字符串格式化

    Python 字符串格式化 Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存 一 ...

  9. arduino 串口实时绘图(以mpu9250为例)

    兴趣之余,利用晚上的时间,做一些个人兴趣方面的开发. 之前没接触过 arduino, 无意之中买了个开发板做一些小开发, 这里利用python 读取 mpu9250 数据实时绘图. 下位机代码 C++ ...

  10. mysql 笔记

    mysql配置主从复制的时候,不能将server-id设置成非数字,这样会导致mysqld启动失败. mysql重启的时候,自动会释放锁(这个锁应该是位于内存的) 执行sql脚本:source /ho ...