MySQL資料庫反向生成powerdesigner模型

gsls200808發表於2018-07-12

1.下載mysql的odbc驅動,注意下載32位的

下載地址:

http://mirrors.163.com/mysql/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-win32.msi

下載後安裝即可

如果PD為64為,odbc也需要下載64位的

PD64位下載:https://d2oa1bkv1sws6.cloudfront.net/PowerDesignerTrial/PowerDesigner16x64_Evaluation.exe

odbc64位下載:http://mirrors.163.com/mysql/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.10-winx64.msi

2.配置資料來源

File --> Reverse Engineer --> Database

彈出新建物理資料庫模型選單

模型名任意填,點選確定

點選 using a data source後面的 連線資料來源按鈕

彈出視窗中點選configure

彈出視窗點選新增資料來源

選擇系統資料來源,如果不可選中,也可選擇使用者資料來源

找到mysql的資料來源MySQL ODBC 5.3 Unicode Driver,並選中

點選完成

這裡進行資料庫連線配置,其中填寫Data Source Name後面要用到

填完之後,點選Test測試一下資料庫是否能連線成功

點選OK在列表可以看到已經有的資料來源名稱

回到連線資料來源視窗,下拉可以選擇剛才的資料來源

選擇aaa後點選connect ,然後點選確定

彈出逆向生成選單

看上面這張圖,先在All users中選擇資料庫名,然後點選右邊的取消全選按鈕,再選擇要逆向生成的表,點選OK

 

生成之後Name一般是中文的,我們可以利用VBA指令碼複製comment到Name

以下是從網上找的一段程式碼

程式碼:將Comment中的字元COPY至Name中

 

Option   Explicit 
ValidationMode   =   True 
InteractiveMode   =   im_Batch
Dim   mdl   '   the   current   model
'   get   the   current   active   model 
Set   mdl   =   ActiveModel 
If   (mdl   Is   Nothing)   Then 
      MsgBox   "There   is   no   current   Model " 
ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then 
      MsgBox   "The   current   model   is   not   an   Physical   Data   model. " 
Else 
      ProcessFolder   mdl 
End   If
Private   sub   ProcessFolder(folder) 
On Error Resume Next
      Dim   Tab   'running     table 
      for   each   Tab   in   folder.tables 
            if   not   tab.isShortcut   then 
                  tab.name   =   tab.comment
                  Dim   col   '   running   column 
                  for   each   col   in   tab.columns 
                  if col.comment="" then
                  else
                        col.name=   col.comment 
                  end if
                  next 
            end   if 
      next
      Dim   view   'running   view 
      for   each   view   in   folder.Views 
            if   not   view.isShortcut   then 
                  view.name   =   view.comment 
            end   if 
      next
      '   go   into   the   sub-packages 
      Dim   f   '   running   folder 
      For   Each   f   In   folder.Packages 
            if   not   f.IsShortcut   then 
                  ProcessFolder   f 
            end   if 
      Next 
end   sub

 

 

在PowerDesigner中使用方法為:

PowerDesigner->Tools->Execute Commands->Edit/Run Scripts

將程式碼Copy進去執行就可以了,是對整個CDM或PDM進行操作

也可以將指令碼儲存起來,以備後續使用

 

原始碼出處:https://www.cnblogs.com/cxd4321/archive/2009/03/07/1405475.html

常見安裝報錯:

1.myodbc5s.dll 找不到

解決方法:安裝VC++執行庫2013版

下載地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784

推薦直接安裝合集:https://www.cr173.com/soft/62871.html

 

 

 

 

 

相關文章