powerdesigner 导出mysql 库,自动生成ER图
下载安装--powerdesigner安装教程16.5
下载PowerDesigner 16.5安装资料压缩包,里面有三个文件夹,分别是安装包、破解文件和汉化文件包,我们直接进入安装包中允许PowerDesigner165.exe
选择next
我们以试用的方式先把软件装好,选择“Trail”--next
在上方选择语音“Peoples Republic of China(PRC)”,勾选协议“I AGREE...”--NEXT
点击“Browser...”选择安装目录,也可以不选,建议不要安装在C盘,并且安装的目录不好包含中文,NEXT
选中自己需要的--next(不知道或不确定自己会需要哪些,可以全部都安装了),NEXT
-
- 接下来进入破解方法,解压破解包
把pdflm16.dll文件复制到Powerdesigner的安装目录,我的目录是D:\install\works\PowerDesigner 16,如果提示是否替换,直接选择“替换目标中的文件”,破解完成。
现在进入我们安装的Powerdesigner界面查看是否破解完成和汉化效果。启动Powerdesigner的几种方法:方法一:直接在桌面上找到Powerdesigner的快捷 启动方式启动;方法二:按键盘上的“win”,搜索Powerdesigner,能看到启动的程序点击进行启动;方法三:到Powerdesigner的安装目录中Pdshell16.exe启动,如果桌面上没有启动程序,每次进入到目录找程序不方便,可以在启动程序上右键--发送到-桌面快捷方式,以后在桌面上就能找到启动程序了(注:不推荐这样启动,会出现链接数据库失败的情况)
编写bat脚本通过加载jdk和mysql驱动启动powerdesigner(需要注意jdk必须是32位才可以)
mysql5.17导出数据库_使用PowerDesigner导出MySql数据库的表结构生成ER图
在PowerDesigner中新建模型。File ----New Model,在弹出的对话框中选择Physical Data Model类型,填写Model name后点击【OK】。
点击“Database”->"Configure Connections",弹出窗口“Configure Data Connections”, 并选择"Connection Profiles"如下图所示:
需要修改启动的驱动,这里使用mysql 的
新建mysql的链接,点击上图中的新建标识,弹出下图:
如上图所示,连接类型为 JDBC,然后选择对应的数据库种类,填写连接数据库使用的用户名和密码,选择连接使用的驱动jar包。填写完毕后,可点击【Test Connection】测试连接数据库是否成功。
若返回 Connection test successful,则表明连接数据库成功,点击【OK】进入下一步。
注:连接数据库使用的jdk需是32位,64位时则连接不成功
连接成功后,点击“Database”->"Update Model from Database(快捷键为:CTRL_R)",弹出窗口“Database Reverse Engineering Options”,
如上图所示,点击左图中连接数据库按钮,弹出右侧图中的对话框,选择第3步中建立的数据库连接文件,点击【Connect】。
另外,若导出的数据量结构中需要导出外键等关系,则酌情选择如下选择项。
选择之后,点击【确定】,则弹出如下图:
等选择合适之后,点击【OK】按钮,则弹出导出数据库表结构的动态进度表,如下图所示:
上一步进度完成之后,在PowerDesigner则显示导出的所有的数据表和表关系等,如下图所示:
如此,则将数据库的表结构导出来了,
在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字段了,如下图所示:
错误情况
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