mysql pdm_mysql 生成pdm

1.条件

1.1 工具powerDesigner16.5

1.2 mysql数据库地址或脚本

1.3 mysql-connector-odbc-5.3.4-winx64.msi

2.操作步骤

2.1 database > change DBMS 选择Mysql5.0

2.2 打开powerDesigner16.5工具, file > reverse Engineer > database

368423b84ee1c063bbec4d21294816b1.png

确定,则生成对应的pdm.

3.图形列表中展示注释'* File:     comment2name.vbs

'* Purpose:  在PowerDesigner的PDM图形窗口中显示数据列的中文注释

'* Title:    将字段的comment赋值到字段的name中

'* Category: 打开物理模型,运行本脚本(Ctrl+Shift+X)

'* Copyright:foxzz@163.com,2006/07/25 .

'* Author:   foxzz

'* Created:

'* Modified:

'* Version:  1.0

'* Comment:  遍历物理模型中的所有表,将字段的comment赋值到字段的name中。

'            在将name置换为comment过程中,需要考虑的问题

'            1、name必须唯一,而comment有可能不唯一。

'               处理办法是如果字段的comment重复,则字段的name=comment+1、2、3...

'            2、comment值有可能为空,这种情况下对字段的name不处理。

'               针对Oracle数据库,将comment on column 字段名称 is '';添加到C:/pdcomment.txt文件中。

'               在补充comment完毕后,便于在数据库中执行

'******************************************************************************

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("C:/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

'处理模型中的表

for each tbl in folder.tables

if not tbl.isShortcut then

if len(trim(tbl.comment))<>0 then

'可以在这里显示table的comment

'tbl.name = tbl.name+"("+trim(tbl.comment)+")"

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

col.name = curComment & cstr(ColumnCommentNumber(k))

else

col.name  = curComment

'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

'view.name =  view.comment

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

tools > excute commands > Edit/Run scripts

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499006.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 调用htm中js函数_从 node.js Web应用中调用 WASM 函数 | WebAssembly 入门教程

文中所有的代码都可以在 https://github.com/second-state/wasm-learning/tree/master/nodejs/hello 中找到在之前的教程中&#xff0c;我们讨论了如何从 Web 浏览器中的 JavaScript 应用程序访问 WebAssembly 函数。WebAssembly 快问快答从 Rust 开始入门 WebAssembly | WebAs…

vba cad 读取宏的路径_openpyxl 第三篇 lt;工作表的读取和写入gt;

1、打开表格文件from openpyxl import load_workbook wb load_workbook(r"文件路径工作簿文件全名")2. 查看有哪些sheet页sheet_names wb.sheetnames print(sheet_names)3. 读取指定的sheet页sheet1 wb[指定工作表的名字]4.单元格的使用#写 sheet1.cell(row3,colu…

mysql 一致性读_MySQL半一致性读原理解析-从源码角度解析

1、什么是半一致性读A type of read operation used for UPDATE statements, that is a combination of read committed and consistent read. When an UPDATE statement examines a row that is already locked, InnoDB returns the latest committed version to MySQL so tha…

飞秋发送文件对方无法接收_微信新功能,发送高清图片和视频终于不会被压缩了...

今天&#xff0c;扎比从微博中刷到了腾讯微信团队的最新微博&#xff0c;称微信支持发送高清图片视频不被压缩&#xff0c;而且给好友发送的文件容量上限也变得更大了。发送教程一般情况下&#xff0c;我们使用微信给好友发视频和图片时都会被压缩。而今天扎比分享的是一个不会…

张仰彪第二排序法_C++之排序

常见的各种排序算法复杂度快速排序1.原理假设我们现在对“6 1 2 7 9 3 4 5 10 8”这个10个数进行排序。首先在这个序列中随便找一个数作为基准数。为了方便&#xff0c;就让第一个数6作为基准数吧。接下来&#xff0c;需要将这个序列中所有比基准数大的数放在6的右边&am…

mysql1440秒未活动_phpMyAdmin登陆超时1440秒未活动请重新登录

本文章总结了关于phpMyAdmin登陆超时1440秒未活动请重新登录解决方法&#xff0c;有需要的朋友可参考本文章。问题现象&#xff1a;现象一&#xff1a;phpmyadmin在使用过程中经常出现“登陆超时(1440秒未活动)&#xff0c;请重新登录”&#xff1b;现象二&#xff1a;phpmyadm…

python3读取jpg_python3读取图像并可视化的方法(PIL/Pillow、opencv/cv2)

原图&#xff1a;使用TensorFlow做图像处理的时候&#xff0c;会对图像进行一些可视化的操作。下面&#xff0c;就来列举一些我知道的图像读取并可视化的方法。 1. Pillow模块 1.1 Pillow模块的前生 Pillow就是python2中的 PIL 模块。PIL模块&#xff08;Python Imaging Librar…

mysql一对多增删改查_SpringBoot+MySql+ElementUI实现一对多的数据库的设计以及增删改查的实现...

场景业务中经常会用到一对多的数据库的设计与数据的增删改查的实现。比如要实现一个对手机应用配置允许访问的权限的业务。app与权限就是一对多的关系。即一个app可以拥有多个权限。注&#xff1a;实现首先设计数据库。要有一个app表、一个权限表、一个app与权限关联表。首先设…

python设置时间到后结束程序_Python设置程序等待时间

写代码时&#xff0c;特别是涉及到其他外部可执行文件调用时&#xff0c;通常会出现调用程序还未生成结果&#xff0c;后面的程序就自动执行的情况。而通常情况下&#xff0c;前一步调用的生成结果是下一步程序的输入文件&#xff0c;因此出现找不到该文件或打不开该文件的情况…

c++心形代码_情人节,用代码比个心

今日份的情人节&#xff0c;在家闲出p的你&#xff0c;是不是比往日更加寂寞&#xff1f;这无情的雨&#xff0c;这冰冷的雪&#xff0c;这朴实无华且枯燥的生活&#xff0c;你是否想做点什么&#xff1f;没有朱一旦的劳力士&#xff0c;也没有朱一龙的神仙颜值&#xff0c;那么…

上下相机贴合对位计算公式_展商速递 | 汇驰新材热可塑性光学透明膜优化升级全贴合工艺...

2020/11/19-21广州汇驰新材料有限公司(东莞欧伏电子)展位号&#xff1a;1R10展会时间&#xff1a;11月19-21日地点&#xff1a;深圳会展中心(福田区老展馆)欢迎相关企业莅临商谈&#xff01;关于汇驰新材广州汇驰新材料有限公司(东莞欧伏电子)(展位号&#xff1a;1R10)主要从事…

datagrip替换字_DataGrip使用进阶-导航及搜索(一)

1、关键字导航&#xff1a;当在datagrip的文本编辑区域编写sql时&#xff0c;按住键盘Ctrl键不放&#xff0c;同时鼠标移动到sql关键字上&#xff0c;比如表名、字段名称、或者是函数名上&#xff0c;鼠标会变成手型&#xff0c;关键字会变蓝&#xff0c;并加了下划线&#xff…

js map获取_感知 Node.js 异步I/O 的魅力!

JS 在浏览器的网页中执行&#xff0c;浏览器给 JS 提供的能力是操作文字、图片&#xff0c;或实现一些简单效果。术语叫 DOM 操作。JS 在 Node.js 环境中执行, Node 给 JS 提供了诸如 文件操作, 网络操作 等功能模块。基于这些模块&#xff0c;JS 一下就牛气冲天了。在 Node.j…

k8s pod restartcount 改0_通过实例快速掌握k8s(Kubernetes)核心概念

点击上方蓝色“Go语言中文网”关注我们&#xff0c;设个星标&#xff0c;每天学习 Go 语言本文作者&#xff1a;倚天码农&#xff0c;原创授权发布原文链接&#xff1a;https://segmentfault.com/a/1190000020595811容器技术是微服务技术的核心技术之一&#xff0c;并随着微服务…

div垂直居中的方法_【CSS】8种常见的垂直水平居中方法

1.比较传统的方式 absolutemargin负值偏移特点&#xff1a;父容器要设置宽高&#xff0c;需要知道子容器宽高&#xff0c;偏移量是子容器宽高的一半且是负值&#xff0c;兼容性好/* absolutemargin负值偏移布局 */.layout.absolute {position: relative;}.layout.absolute art…

websocket 导致大量apache进程_Swoole 服务端主动向websocket推送消息

在之前的博文中&#xff0c;我们已经学完了如果使用swoole搭建websocket长连接&#xff0c;也学会了swoole的多进程数据共享操作。但在一个完整的websocket长连接日常操作链中&#xff0c;服务端往往会主动给在线的用户单独推送消息&#xff0c;会群发一些消息。在Swoole-webso…

python因子分析法_python——因子分析

因子分析用Python做的一个典型例子 一、实验目的 采用合适的数据分析方法对下面的题进行解答二、实验要求 采用因子分析方法&#xff0c;根据48位应聘者的15项指标得分&#xff0c;选出6名最优秀的应聘者。 三、代码 importpandas aspd importnumpy asnp importmath asmath imp…

polycom安卓手机客户端_三款免费「游戏串流」APP,在手机/电视上玩PC游戏

以前想把电脑游戏输出到电视机上玩&#xff0c;得用HDMI线输出&#xff0c;如果电脑主机和电视机离太远&#xff0c;HDMI线不够长&#xff0c;还得抱电脑主机到电视机旁边&#xff0c;非常不方便。随着技术的发展&#xff0c;现在已经有「串流」功能&#xff0c;只要电视机和电…

python获取返回值_python如何获取函数的返回值

函数需要先定义后调用&#xff0c;函数体中 return 语句的结果就是返回值。如果一个函数没有 reutrn 语句&#xff0c;其实它有一个隐含的 return 语句&#xff0c;返回值是 None&#xff0c;类型也是 NoneType。return 语句的作用&#xff1a;结束函数调用、返回值 指定返回值…

java模拟器百度_Java模拟实现百度文档在线浏览

这个思路是我参考网上而来&#xff0c;代码是我实现。采用Apache下面的OpenOffice将资源文件转化为pdf文件&#xff0c;然后将pdf文件转化为swf文件&#xff0c;用FlexPaper浏览。ok&#xff0c;A、下载OpenOffice (转换资源文件)B、下载JodConverter(调用OpenOffice)C、下载Sw…