powerdesigner 导出mysql 库,自动生成ER图

下载安装--powerdesigner安装教程16.5

下载PowerDesigner 16.5安装资料压缩包,里面有三个文件夹,分别是安装包、破解文件和汉化文件包,我们直接进入安装包中允许PowerDesigner165.exe

MySQL可以直接导出er图吗 根据mysql导出er图_数据库

 

选择next

MySQL可以直接导出er图吗 根据mysql导出er图_database_02

 

我们以试用的方式先把软件装好,选择“Trail”--next

MySQL可以直接导出er图吗 根据mysql导出er图_mysql_03

 

在上方选择语音“Peoples Republic of China(PRC)”,勾选协议“I AGREE...”--NEXT

MySQL可以直接导出er图吗 根据mysql导出er图_database_04

 

点击“Browser...”选择安装目录,也可以不选,建议不要安装在C盘,并且安装的目录不好包含中文,NEXT

MySQL可以直接导出er图吗 根据mysql导出er图_表结构_05

 

选中自己需要的--next(不知道或不确定自己会需要哪些,可以全部都安装了),NEXT

MySQL可以直接导出er图吗 根据mysql导出er图_mysql_06

 

  1. 接下来进入破解方法,解压破解包

把pdflm16.dll文件复制到Powerdesigner的安装目录,我的目录是D:\install\works\PowerDesigner 16,如果提示是否替换,直接选择“替换目标中的文件”,破解完成。

MySQL可以直接导出er图吗 根据mysql导出er图_数据库_07

MySQL可以直接导出er图吗 根据mysql导出er图_表结构_08

 

 

现在进入我们安装的Powerdesigner界面查看是否完成和汉化效果。启动Powerdesigner的几种方法:方法一:直接在桌面上找到Powerdesigner的快捷 启动方式启动;方法二:按键盘上的“win”,搜索Powerdesigner,能看到启动的程序点击进行启动;方法三:到Powerdesigner的安装目录中Pdshell16.exe启动,如果桌面上没有启动程序,每次进入到目录找程序不方便,可以在启动程序上右键--发送到-桌面快捷方式,以后在桌面上就能找到启动程序了(注:不推荐这样启动,会出现链接数据库失败的情况)

MySQL可以直接导出er图吗 根据mysql导出er图_表结构_09

 

编写bat脚本通过加载jdk和mysql驱动启动powerdesigner(需要注意jdk必须是32位才可以)

MySQL可以直接导出er图吗 根据mysql导出er图_database_10

 

mysql5.17导出数据库_使用PowerDesigner导出MySql数据库的表结构生成ER图

在PowerDesigner中新建模型。File ----New Model,在弹出的对话框中选择Physical Data Model类型,填写Model name后点击【OK】。

MySQL可以直接导出er图吗 根据mysql导出er图_database_11

 

点击“Database”->"Configure  Connections",弹出窗口“Configure Data Connections”, 并选择"Connection Profiles"如下图所示:

MySQL可以直接导出er图吗 根据mysql导出er图_mysql_12

 

需要修改启动的驱动,这里使用mysql 的

MySQL可以直接导出er图吗 根据mysql导出er图_表结构_13

 

MySQL可以直接导出er图吗 根据mysql导出er图_database_14

 

新建mysql的链接,点击上图中的新建标识,弹出下图:

MySQL可以直接导出er图吗 根据mysql导出er图_MySQL可以直接导出er图吗_15

 

如上图所示,连接类型为 JDBC,然后选择对应的数据库种类,填写连接数据库使用的用户名和密码,选择连接使用的驱动jar包。填写完毕后,可点击【Test Connection】测试连接数据库是否成功。

若返回 Connection test successful,则表明连接数据库成功,点击【OK】进入下一步。

注:连接数据库使用的jdk需是32位,64位时则连接不成功

连接成功后,点击“Database”->"Update Model from  Database(快捷键为:CTRL_R)",弹出窗口“Database Reverse Engineering Options”,

MySQL可以直接导出er图吗 根据mysql导出er图_MySQL可以直接导出er图吗_16

 

如上图所示,点击左图中连接数据库按钮,弹出右侧图中的对话框,选择第3步中建立的数据库连接文件,点击【Connect】。

另外,若导出的数据量结构中需要导出外键等关系,则酌情选择如下选择项。

MySQL可以直接导出er图吗 根据mysql导出er图_MySQL可以直接导出er图吗_17

 

选择之后,点击【确定】,则弹出如下图:

MySQL可以直接导出er图吗 根据mysql导出er图_MySQL可以直接导出er图吗_18

 

等选择合适之后,点击【OK】按钮,则弹出导出数据库表结构的动态进度表,如下图所示:

MySQL可以直接导出er图吗 根据mysql导出er图_database_19

 

上一步进度完成之后,在PowerDesigner则显示导出的所有的数据表和表关系等,如下图所示:

MySQL可以直接导出er图吗 根据mysql导出er图_database_20

 

如此,则将数据库的表结构导出来了,

在PowerDesigner中,表结构的code,name字段均为英文,不易阅读,若需要将备注中的字段替换到name字段显示,则执行方法:Tools -- Execute Commands -- Edit/Run Script ,则弹出如下图中的对话框:(下面可以试下,网络上的方法,或者直接ctrl+s直接可以保存

将如下代码,放入输入框中,点击执行按钮或者【run】,执行之,

Vb script代

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

'This routine copy name into code for each table, each column and each view

'of the current folder

Private sub ProcessFolder(folder)

Dim Tab 'running table

for each Tab in folder.tables

if not tab.isShortcut then

if len(tab.comment) <> 0 then

tab.name = tab.comment

end if

On Error Resume Next

Dim col 'running column

for each col in tab.columns

if len(col.comment) <>0 then

col.name =col.comment

end if

On Error Resume Next

next

end if

next

end sub

执行之后,则将备注中的字段填写到name字段了,如下图所示:

MySQL可以直接导出er图吗 根据mysql导出er图_数据库_21

 

错误情况

jdk没有安装或者使用了64位导致的情况

利用powerdesigner反向生成表结构时,需要MySQL连接,配置好连接,测试时直接报:connection test failed”!.

 

控制台输出:Could not Initialize JavaVM

没有使用脚本startup.bat启动会出现的情况

利用powerdesigner反向生成表结构时,需要MySQL连接,配置好连接,测试时直接报:connection test failed”!

控制台输出:Non SQL Error : Could not load class com.mysql.jdbc.Driver