`
flashdream8
  • 浏览: 678675 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

powerdesigner 反向 显示问题

 
阅读更多

pd 反向

 

1. )首先新建一个“PhysicalDataModel”类型的文件,然后点击“Database”->"Configure  Connections",弹出窗口“Configure Data Connections”, 并选择"Connection Profiles

2.) 填写相关信息

3.) 点击“Database”->"Update Model from  Database(快捷键为:CTRL_R)",弹出窗口“Database Reverse Engineering Options”

4.)选择需要进行反向工程的数据库或数据库中的某些表,然后点击“OK”即可完成数据库的反向工程操作。(注意:默认是所有数据库全部选中的,所以在进行选择需要进行反向工程的数据库之前,先点击使得数据库全部未选中。)
到目前为止,powerdesigner的反向工程的连接环境全部配置完成,此时只需选中需要进行反向工程的数据库或表,点击“OK”便可导出数据的PhysicalDataModel图。

 

注意:java 64位版本不支持 报 Could not Initialize JavaVM 错误,需要在java32位版本下运行

 

=====================================

pd 反向完成以后 显示问题

 

 

 

 不是很直观:我们需要显示成:



 

 

 

在 反向完成的 工作区域 点击 ctrl+shift+X  或者(Tools-->Execute Commands-->Edit/Run Script)

输入:

Option Explicit

ValidationMode = True

InteractiveMode = im_Batch

Dim system, file
Set system = CreateObject("Scripting.FileSystemObject")
Dim ForReading, ForWriting, ForAppending   '打开文件选项
ForReading   = 1 ' 只读
ForWriting   = 2 ' 可写
ForAppending = 8 ' 可写并追加
'打开文本文件
Set file = system.OpenTextFile("d:\temp\pdcomment.txt", ForWriting, true)

'判断当前model是否物理数据模型
Dim mdl
Set mdl = ActiveModel
If (mdl Is Nothing) Then
   MsgBox "处理对象无模型"
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
   MsgBox "当前模型不是物理数据模型"
Else
   ProcessFolder mdl,file
End If
file.Close

'******************************************************************************
Private sub ProcessFolder(folder,file)

Dim i,j,k
i=0:j=0:k=0
'列数组,记录字段里不重复的comment
Dim ColumnComment()
Dim ColumnCommentNumber()
ReDim Preserve ColumnComment(i)
ReDim Preserve ColumnCommentNumber(i)

Dim tbl   '当前表
Dim col   '当前字段
dim curComment '当前字段comment
Dim regex '正则表达式
Set regex=New RegExp
'处理模型中的表
for each tbl in folder.tables
    if not tbl.isShortcut then
       if len(trim(tbl.comment))<>0 then
          '可以在这里显示table的comment
          regex.Pattern="\[.*\]"
          If regex.Test(tbl.name) then
          else
            tbl.name = tbl.name+"["+trim(tbl.comment)+"]"
            end if
       end if

       '处理表中的列
       for each col in tbl.columns
           k = 0
           curComment = trim(col.comment)
           if len(curComment)<>0 then
              '遍历相异的comment数组
              for j = 0 to i
                  if ColumnComment(j) = curComment then
                     '如果找到相同的comment,则相关计数器加1
                     ColumnCommentNumber(j) = ColumnCommentNumber(j) + 1
                     k = j
                  end if
              Next
              '如果没有相同的comment,则k=0,此时ColumnCommentNumber(0)也为0
              '否则ColumnCommentNumber(k)不为0
              if ColumnCommentNumber(k) <> 0 Then

              regex.Pattern="\[.*\]"
              If regex.Test(col.name) Then
              else
                 col.name =col.name+"["+curComment & cstr(ColumnCommentNumber(k))+"]"
                 End if
              Else
              regex.Pattern="\[.*\]"
              If regex.Test(col.name) Then
              else
                 col.name = col.name+"["+curComment+"]"
             End if
                 'ColumnComment(0)、ColumnCommentNumber(0)永远为空
                 '将相异的comment记录添加到数组中
                 i = i + 1
                 ReDim Preserve ColumnComment(i)
                 ReDim Preserve ColumnCommentNumber(i)
                 ColumnComment(i) = curComment
                 ColumnCommentNumber(i) = 0
              end if
           else
              '写入文件中
              file.WriteLine "comment on column "+ tbl.name+"."+col.code+" is '';"
           end if
       next
    end if
    '由于不同表的name允许相同,因此此时重新初始化。
    '因为ColumnComment(0)、ColumnCommentNumber(0)为空,可以保留
    ReDim Preserve ColumnComment(0)
    ReDim Preserve ColumnCommentNumber(0)
    i=0:j=0:k=0

next

Dim view '当前视图
for each view in folder.Views
    if not view.isShortcut then
       '可以在这里显示view的comment
        regex.Pattern="\[.*\]"
        If regex.Test(view.name) Then
        Else
       view.name = view.name+"["+view.comment+"]"
       End if
    end if
next

'对子目录进行递归
Dim subpackage 'folder
For Each subpackage In folder.Packages
    if not subpackage.IsShortcut then
       ProcessFolder subpackage , file
    end if
Next

end sub

 

点击 run  , 执行完成以后 就ok了

 

http://hi.baidu.com/lushaojin/item/8d5e2ee1529a96266dabb8b4

  • 大小: 11.5 KB
  • 大小: 15.9 KB
分享到:
评论

相关推荐

    彻底解决PowerDesigner反向工程Oralce备注不是中文问题

    配置方法: 替换DBMS配置文件 位置:\Sybase\PowerDesigner 12\Resource Files\DBMS\oracl10g.xdb 完成后执行反向工程即可,反向工程的时候DBMS选择Oracle version 10g就可以了

    powerdesigner添加数据源、反向工程、表显示注释

    PowerDesigner 添加数据源、反向工程、表显示注释 PowerDesigner 是一款功能强大的数据建模工具,能够帮助用户设计、开发和维护复杂的数据系统。下面是关于 PowerDesigner 添加数据源、反向工程、表显示注释的知识...

    PowerDesigner反向工程使用方法.doc

    ### PowerDesigner反向工程使用方法详解 #### 一、引言 在软件开发过程中,数据库设计与维护是一项重要的任务。PowerDesigner作为一款强大的数据库建模工具,被广泛应用于概念数据模型(CDM)、物理数据模型(PDM)以及...

    powerDesigner 反向生成数据库所需驱动

    接下来,让我们详细了解一下PowerDesigner反向工程的步骤: 1. **启动PowerDesigner**:打开软件,进入主界面。 2. **创建新模型**:选择“文件”-&gt;“新建”-&gt;“物理数据模型”或“概念数据模型”,根据需求选择。 ...

    PowerDesigner逆向工程显示字段备注

    PowerDesigner16.5逆向工程显示字段备注,生成的更贴合。使用的是命令运行的方式,本人亲试,非常方便。

    PowerDesigner反向工程将数据库设计导出SQL脚本、HTML或World

    PowerDesigner 是一个功能强大的数据库设计工具,除了能够帮助用户设计和管理数据库外,还提供了强大的反向工程功能,能够将数据库设计导出为 SQL 脚本、HTML 或 Word 文档等多种格式,从而满足不同的需求和应用场景...

    powerdesigner 反向工程(图示)

    《PowerDesigner反向工程详解》 在IT行业中,数据库设计是软件开发过程中的重要环节,而PowerDesigner作为一款强大的数据库设计工具,其反向工程功能则为数据库管理和优化提供了极大的便利。本文将详细介绍如何使用...

    powerdesigner反向工程正向工程及生成文档步骤

    ### PowerDesigner 反向工程与正向工程及生成文档步骤详解 #### 一、PowerDesigner 反向工程 **反向工程**的主要目的是从现有的数据库结构中提取信息,并将其转换为PowerDesigner中的物理数据模型(Physical Data ...

    利用powerdesigner反向数据库结构,生成ER图

    本文将深入探讨如何利用PowerDesigner反向工程数据库结构,生成ER(实体关系)图,以便更好地理解和管理数据库。 首先,我们需要了解什么是反向工程。反向工程是将已存在的数据库结构转换为概念数据模型或物理数据...

    PowerDesigner生成数据字典(包含反向工程生成方法).docx

    标题和描述均提到了“PowerDesigner生成数据字典(包含反向工程生成方法)”,这表明文章主要聚焦于如何利用PowerDesigner这一强大的建模工具来生成数据字典,并特别强调了反向工程作为生成数据字典的一种方法。...

    powerdesigner画ER图显示注释

    一个小脚本,可以让powerdesigner显示的ER图添加注释,不过需要做一些设置

    Powerdesigner反向工程

    标题:PowerDesigner反向工程 描述:PowerDesigner反向工程使用说明 知识点: ### PowerDesigner反向工程概览 PowerDesigner是一款由SAP公司提供的综合建模和设计工具,广泛应用于数据库设计、业务流程分析等...

    PowerDesigner15正向工程,PowerDesigner15反向工程

    而在“PowerDesigner15反向工程.doc”文件中,可能详细阐述了如何执行反向工程,如何连接到不同的数据库,以及如何解析和显示数据库结构。可能还包括了处理复杂数据库结构,如视图、存储过程和触发器的方法,以及...

    PowerDesigner

    4. **逆向工程**:PowerDesigner可以反向工程已存在的数据库,生成相应的数据模型,方便理解现有结构并进行修改。 5. **业务流程建模**:PowerDesigner还包括业务流程模型(BPMN),用于绘制和分析业务流程,提高工作...

    Powerdesigner逆向工程生成PDM 中文列名表名

    ### PowerDesigner逆向工程生成PDM(物理数据模型)及中文列名表名转换为注释 #### 一、PowerDesigner及其逆向工程概述 PowerDesigner是一款强大的CASE工具,广泛应用于数据库设计、业务流程建模等领域。通过...

    Powerdesigner字段备注导入到数据库

    - 在导入过程中,注意兼容性问题,不同的数据库可能有不同的语法来处理字段备注。 - 确保在导入前,数据库用户具有足够的权限来修改表结构。 7. **PowerDesigner的其他功能** PowerDesigner还支持逆向工程,可以...

    使用powerdesigner 生成数据库设计文档

    本篇文章将详细介绍如何利用PowerDesigner来生成数据库设计文档,解决手动编写文档带来的繁琐和易出错的问题。 首先,我们需要理解数据库设计文档的重要性。它不仅记录了数据库的结构,包括表、字段、关系等,还...

    PowerDesigner逆向工程导出Oracle表图

    三、PowerDesigner 反向工程生成 ER 图 PowerDesigner 不仅可以生成 SQL 语句,还可以生成 ER 图。要生成 ER 图,需要遵循以下步骤: 1. 打开 PowerDesigner,选择“文件”菜单中的“逆向工程”选项,然后选择...

    PowerDesigner16.5 中文教程-数据库模型操作教程_详解

    PowerDesigner允许用户自定义模型的显示样式、模板、属性设置等,以满足个人或团队的工作习惯。 总结,PowerDesigner 16.5提供了全面的数据库建模功能,从概念到物理,再到对象模型,涵盖了设计、转换、文档生成等...

Global site tag (gtag.js) - Google Analytics