日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

pdm 导入mysql 注释_PowerDesigner逆向导入MYSQL数据库并显示中文注释(转载)

發(fā)布時(shí)間:2024/9/27 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pdm 导入mysql 注释_PowerDesigner逆向导入MYSQL数据库并显示中文注释(转载) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我想直觀的查看數(shù)據(jù)庫(kù)表之間的關(guān)系與中文注釋,發(fā)現(xiàn)Navicat Premium下的表模型功能,并沒有注釋功能:

用起來(lái)不是很方便。所有想到了用PowerDesigner來(lái)逆向MYSQL中的表,并顯示中文注釋。

一、安裝ODBC驅(qū)動(dòng)

當(dāng)前環(huán)境:

window 10 64bit

PowerDesigner 16.5 32bit

Connector/ODBC 5.1.13 下載地址:

http://dev.mysql.com/downloads/connector/odbc/5.1.html

選擇win-32 MIS安裝包,由于用的PD版本是32位的,所有選擇ODBC也得32位否則會(huì)出現(xiàn)不兼容。

下載之后點(diǎn)擊安裝。

二、配置OBDC驅(qū)動(dòng)連接

安裝好之后,在控制面板中,選擇管理工具

然后填寫正確的TCP/IP Server 、User、 Password、點(diǎn)擊Database 三角標(biāo)會(huì)彈出相關(guān)的庫(kù)供選擇

然后可以點(diǎn)擊TEST測(cè)試連接。最后點(diǎn)擊OK。

會(huì)發(fā)現(xiàn)多出一個(gè)PD_MYSQL.這個(gè)就是在Data Source Name定義的。

三、PowerDesigner連接MYSQL

打開PowerDesigner,操作如下

點(diǎn)擊確定后。會(huì)列出全部數(shù)據(jù)的表格。

可以在:那里選擇我們想要的庫(kù)

然后可以通過(guò): Select ALL和Deselect All全選和全不選。

選擇想要的表,然后點(diǎn)擊OK。顯示如下:

四、顯示中文注釋

導(dǎo)是導(dǎo)入成功了,但是并沒有顯示中文注釋,顯示表的中文注釋操作如下:

在tool中選擇Display?Preferences

在Table中選擇Comment

然后點(diǎn)擊OK。這樣表的注釋就有了,問(wèn)題是還有字段的注釋沒有,選中Table,右鍵Properties,會(huì)發(fā)現(xiàn)其中已經(jīng)有了Comment,一欄

問(wèn)題是沒有在PDM圖上顯示。解決方法如下,要將注釋comment的內(nèi)容替換到code或name中,即可。步驟如下:

1、Tools->Display Preferences->Table->Advanced...->Columns->List Columns

然后將Code移到最上面

然后點(diǎn)擊OK。

2、Tools下增加一個(gè)vbs的腳本,可以將code內(nèi)容替換為注釋內(nèi)容

復(fù)制腳本執(zhí)行。即可

vbs文件內(nèi)容如下(注意需要管理員運(yùn)行):

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

'* File: comment2code.vbs

'* Purpose: 在PowerDesigner的PDM圖形窗口中顯示數(shù)據(jù)列的中文注釋

'* Title: 將字段的comment賦值到字段的code中

'* Category: 打開物理模型,運(yùn)行本腳本(Ctrl+Shift+X)

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

'* Author: foxzz

'* Created:

'* Modified:

'* Version: 1.0

'* Comment: 遍歷物理模型中的所有表,將字段的comment賦值到字段的code中。

' 在將code置換為comment過(guò)程中,需要考慮的問(wèn)題

' 1、code必須唯一,而comment有可能不唯一。

' 處理辦法是如果字段的comment重復(fù),則字段的code=comment+1、2、3...

' 2、comment值有可能為空,這種情況下對(duì)字段的code不處理。

' 針對(duì)oracle數(shù)據(jù)庫(kù),將comment on column 字段名稱 is '';添加到C:\pdcomment.txt文件中。

' 在補(bǔ)充comment完畢后,便于在數(shù)據(jù)庫(kù)中執(zhí)行

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

Option Explicit

ValidationMode = True

InteractiveMode = im_Batch

Dim system, file

Set system = CreateObject("Scripting.FileSystemObject")

Dim ForReading, ForWriting, ForAppending '打開文件選項(xiàng)

ForReading = 1 ' 只讀

ForWriting = 2 ' 可寫

ForAppending = 8 ' 可寫并追加

'打開文本文件

Set file = system.OpenTextFile("C:\pdcomment.txt", ForWriting, true)

'判斷當(dāng)前model是否物理數(shù)據(jù)模型

Dim mdl

Set mdl = ActiveModel

If (mdl Is Nothing) Then

MsgBox "處理對(duì)象無(wú)模型"

ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then

MsgBox "當(dāng)前模型不是物理數(shù)據(jù)模型"

Else

ProcessFolder mdl,file

End If

file.Close

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

Private sub ProcessFolder(folder,file)

Dim i,j,k

i=0:j=0:k=0

'列數(shù)組,記錄字段里不重復(fù)的comment

Dim ColumnComment()

Dim ColumnCommentNumber()

ReDim Preserve ColumnComment(i)

ReDim Preserve ColumnCommentNumber(i)

Dim tbl '當(dāng)前表

Dim col '當(dāng)前字段

dim curComment '當(dāng)前字段comment

'處理模型中的表

for each tbl in folder.tables

if not tbl.isShortcut then

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

'可以在這里顯示table的comment

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

end if

'處理表中的列

for each col in tbl.columns

k = 0

curComment = trim(col.comment)

if len(curComment)<>0 then

'遍歷相異的comment數(shù)組

for j = 0 to i

if ColumnComment(j) = curComment then

'如果找到相同的comment,則相關(guān)計(jì)數(shù)器加1

ColumnCommentNumber(j) = ColumnCommentNumber(j) + 1

k = j

end if

Next

'如果沒有相同的comment,則k=0,此時(shí)ColumnCommentNumber(0)也為0

'否則ColumnCommentNumber(k)不為0

if ColumnCommentNumber(k) <> 0 then

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

else

col.code = curComment

'ColumnComment(0)、ColumnCommentNumber(0)永遠(yuǎn)為空

'將相異的comment記錄添加到數(shù)組中

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.code+"."+col.code+" is '';"

end if

next

end if

'由于不同表的code允許相同,因此此時(shí)重新初始化。

'因?yàn)镃olumnComment(0)、ColumnCommentNumber(0)為空,可以保留

ReDim Preserve ColumnComment(0)

ReDim Preserve ColumnCommentNumber(0)

i=0:j=0:k=0

next

Dim view '當(dāng)前視圖

for each view in folder.Views

if not view.isShortcut then

'可以在這里顯示view的comment

'view.code = view.comment

end if

next

'對(duì)子目錄進(jìn)行遞歸

Dim subpackage 'folder

For Each subpackage In folder.Packages

if not subpackage.IsShortcut then

ProcessFolder subpackage , file

end if

Next

end sub

執(zhí)行成功后,效果如下

替換后的字段如下

因?yàn)樵牡腣B腳本不能用,找的其它博文里面的可以成功執(zhí)行:

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的pdm 导入mysql 注释_PowerDesigner逆向导入MYSQL数据库并显示中文注释(转载)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。