一、操作环境
Win10 64位
Microsoft SQL Server 2008 R2
PowerDesigner 16.5.0.3982
二、创建数据库ODBC连接控制面板---管理工具---ODBC数据源---用户DNS---添加
选择数据源SQL Server,点击完成。创建新数据源,填写好相关信息,点击完成
选择SQL Server验证,填写登录ID与密码,点击下一步
不做任何改动,这样将来可以选择所有数据库库(也可以选择任意一个默认数据库),直接点击下一步
位置不做改动,点击完成(如果磁盘空间不够,也可以指定位置)
点击‘测试数据源’,显示成功之后点击确定
确定后在用户DSN中就创建了名为‘test’的用户数据源,点 确定 完成
三、修改PowerDesigner的当前数据库
(如果当前数据库已经是Microsoft SQL Server 2008,可略过此步骤)
安装后DBMS默认为 Sybase SQL Anywhere12 ,需要改为自己的DBMS打开PowerDesigner后,先建立一个PDM:点击文件(File)-->新建模型(New Model)-->选择Model types-->选择Physical Data Model
-->选择Physical Diagram
无需更改模型名称与DBMS(也可以自定义),点击OK
改变当前的数据库:选择数据库(Database) -->点击Change Current DBMS-->New数据库处,改选 Microsoft SQL Server 2008-->确定
-->弹出提示框,点击确定
四、将数据库的表逆向形成 PDM
1、进入逆向数据库参数选择画面:文件(File)-->反向工程(Reverse Engineer)-->Database
2、在新PDM画面不做改动,直接点击确定,弹出参数选项画面
3、在参数画面中,有两种方法可选:
3.1、使用数据库导出的脚本
1. 选择‘使用脚本文件(Using sript files)’
2. 点击下面的的按钮 Add Files
3. 找到对应的sql文件,点击打开
4. 点击确定,就逆向将数据库的表形成PDM
3.2、直接从数据库中生成
①. 选择‘使用数据源(Using data source)’
②. 点击后面的图标
③. 默认选中ODBC machine data source
④. 点击 Configure
⑤. 在Configure Data Connections 画面中,可以看到之前配置的数据源
⑥. 点击确定,返回选择数据源
⑦. 在下拉框中选择要连接的数据源
⑧. 填写登录名与密码
⑨. 点击 Connect
⑩. 点击确定
⑪.从左上角下拉框中选择数据库,勾选列表中需要的表,点击确定即可生成PDM
4、正常使用:上面配置后,就可以这样操作
4.1、打开PowerDesigner ,建立一个物理数据模型PDM
4.2、选择‘数据库(Database)’-->‘Connect..’,连接一个指定的数据源
4.3、选择‘数据库(Database)’-->‘Update Model From Database (快捷方式 Ctrl + R)’
4.4、点击右向箭头,勾选相应的表、视图和存储过程。点击确定即可。
五、生成数据字典选中PDM模型,右键-->新建(NEW)-->REPORT
填写表单名称,语言选择‘Simplified Chinese’,模板不用选择
添加成功后显示初始界面
将Avaliable items中的项目加入Report items中(双击项目直接加入);
右键单击或双击可设置表头的名字
下面是已经配置好的项目
选中‘List of Tables’,设置表清单格式
右键单击选择Layout,勾选需要显示的字段,并设置表格每列的宽度
这里我选择的是:Code(字段名)、Comment(注释)【如果没有Comment字段,请点击这里】
选中‘List of Tables Columns’,设置数据表的内容。
右键单击选择Layout,勾选需要显示的字段,并设置表格每列的宽度
重点选择以下参数:Code(字段名)、Date Type(类型)、Comment(注释)
这个时候,所有的注释都不是中文的,所以还差一步,生成中文注释【请点击这里查看生成中文注释】
设定完成后,在预览窗口,点击生成RTF(可以选择生成RTF格式和html格式)
完成!
六、注意事项
1、添加Comment字段
如果没有Comment字段,就双击打开PDM模型,然后选择工具(Tools),选择‘显示首选项’;
选择General Settings-->Table,勾选Comment,点击确定。
2、生成中文注释打开PDM模型界面,选择工具(Tools) -->Execute Commands -->Edit/Run 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
Private sub ProcessFolder(folder)
On Error Resume Next
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
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
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
锵锵,中文注释就出来啦~
参考文章: