在使用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. Base64编码及其作用

    Base64编码的作用:由于某些系统中只能使用ASCII字符.Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法.它使用下面表中所使用的字符与编码. 而且base64特别适合在 ...

  2. 044. asp.net主题之二为主题添加CSS样式和动态加载主题

    1. 新建任意一个网站, 默认主页为Default.aspx, 增加一个App_Themes目录, 用于存储主题, 添加一个MyTheme的主题, 在MyTheme主题下添加一个样式表文件, 默认名称 ...

  3. Linux查看redis进程

    命令: ps ef|grep redis 返回上一级cd ..

  4. Hue

    Hue是一个开源的Apache Hadoop UI系统,由Cloudera Desktop演化而来,最后Cloudera公司将其贡献给Apache基金会的Hadoop社区,它是基于Python Web ...

  5. mybatis实战教程(mybatis in action)之五:与spring3集成

    在这一系列文章中,前面讲到纯粹用mybatis 连接数据库,然后 进行增删改查,以及多表联合查询的的例子,但实际项目中,通常会用 spring 这个沾合剂来管理 datasource 等.充分利用sp ...

  6. Python Q&A

    http://ilian.i-n-i.org/python-interview-question-and-answers/ http://www.geekinterview.com/Interview ...

  7. 结算凭证中委托付款部分sql

    select a.makevdate,a.summary,a.totalcredit,a.cent_typeid,c.accidname from fts_voucher a,fts_voucher_ ...

  8. Asp.Net调试方法备忘

    由于种种原因导致vs不能启用Web服务器调试.可用如下方法来执行调试. 1.在vs中选择 调试>启动不调试(ctr+f5), 2.设置你需调试的相关断点,然后选择 调试>进程.选择Aspn ...

  9. ln命令小陷阱

    一个文件夹下面的文件结构是 -dir1 -assetsdir -subdir1 -subdir2 这个时候如果我想在subdir1和subdir2下面分别创建assetsdir的链接文件夹的话,应该怎 ...

  10. sql server 跨数据库插入数据

    创建服务器的连接,创建好后可以存在服务器上,可以在不同位置重复使用,和系统函数类似 exec sp_addlinkedserver 'RemoteServer', '', 'SQLOLEDB ', ' ...