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,一经查实,立即删除!

相关文章

python画图宽度_python – 在Matplotlib中设置绘图画布的大小

这是我对Matplotlib最大的挫折之一.我经常使用栅格数据,例如我想添加色彩图,图例和一些标题.来自matplotlib库的任何简单示例都会导致不同的分辨率,因此重新采样数据.特别是在进行图像分析时,您不需要任何(不需要的)重采样. 这是我通常做的,虽然我很想知道是否有更简单或更好的…

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…

python将数据存入mysql数据库中_python3 两种方法将数据存入mysql数据库

方法一&#xff1a;(数据量小的时候推荐使用这种)第一步&#xff1a;pip install mysqlclient这里我没有报错 也许你可能会报错Read timed out 此时不要慌&#xff0c;这是因为你的网络问题&#xff0c;你使用豆瓣源再次下载&#xff1a;pip install -i https://pypi.douban…

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;我们使用微信给好友发视频和图片时都会被压缩。而今天扎比分享的是一个不会…

mysql改原始密码mac_MAC版修改MySQL初始密码的方法

问题描述&#xff1a;买了mac电脑&#xff0c;第一次装mysql&#xff0c;不知道初始密码&#xff0c;如何修改初始密码记录下。解决方式&#xff1a;http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html亲测方法3&#xff0c;已成功重置密码。(感谢非常&#x…

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

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

rpm mysql 忘记密码_mysql密码忘记该怎么办?

环境&#xff1a;linux;mysql5.7mysql密码忘记&#xff1a;[rootizwz9f40l0qo5cpnn8qwmpz ~]# mysql -u root -pEnter password:ERROR 1045 (28000): Access denied for user rootlocalhost (using password: NO)查看当前版本&#xff1a;# rpm -qa |grep mysqlmysql57-communi…

python有多少种变量_python数据类型和变量

1.python文件的后缀名为 *.py 2.两种执行方式&#xff1a; python解释器 py文件路径 python 进入解释器&#xff1a; 实时输入并获取到执行结果 3.在Linux下&#xff0c;文件名和文件内部与windows有所不同 文件名 ./*.py 文件内部&#xff1a; 开头得加上 #/usr/bin/env pytho…

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

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

java连接mysql执行ddl_dljd_(007_009)_jdbc执行DQL/DML/DDL语句

packageedu.aeon.jdbc;importjava.sql.Connection;importjava.sql.Driver;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.Statement;/*** [说明]:测试jdbc*authoraeon(qq:1584875179)**/public classTest {/*** jdbc执行…

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;因此出现找不到该文件或打不开该文件的情况…

python excel行数计算不对_数十万数据Excel数据不好处理怎么办?几行Python搞定

电商行业&#xff0c;每月有上百万条订单发货数据需要与仓库的数据进行核对计算&#xff0c;涉及到数据计算&#xff0c;筛选&#xff0c;匹配等步骤&#xff0c;用excel表超级卡&#xff0c;并且经常卡死。这时如果你会Python&#xff0c;十几行代码就可以搞定。这里需要两个P…

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

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

mysql 增大数据库链接_怎么增大MYSQL数据库连接数

怎么增大MYSQL数据库连接数怎么增大MySQL数据库连接数&#xff0c;MYSQL数据库安装完成后&#xff0c;默认连接数是100&#xff0c;流量稍微大一点的论坛或网站这个连接数是不够哟用的&#xff0c;那么怎么才能增加默认MYSQL连接数呢&#xff1f;这里给大家介绍一下具体的方法与…

python中idx是什么意思_Python pandas.DataFrame.idxmax函数方法的使用

DataFrame.idxmax(self, axis0, skipnaTrue) [source] 返回在请求轴上第一次出现最大值的索引。不包括NA/null。 参数&#xff1a;axis &#xff1a; {0或index&#xff0c;1或columns}&#xff0c;默认0 行为0或index&#xff0c;列为1或columns skipna &#xff1a; boolean&…

python求近似值_python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配...

已知一个元素,在一个list中找出相似的元素 使用场景: 已知一个其它来源的字符串, 它有可能是不完全与我数据库中相应的字符串匹配的,因此,我需要将其转为适合我数据库中的字符串 使用场景太绕了, 直接举例来说吧 随便举例: 按青岛城市的城区来说, 我数据库中存储的城区是个list…