《PowerDesigner生成sql和反向工程生成ER图的问题 》

徘徊边缘 提交于 2019-12-01 22:23:37

 

一、PowerDesigner生成sql问题
生成sql的方法是 Database -->Generate Database (Ctrl + G ) 但是提示

Could not load VBScript engine.
Check VBScript installation.

Generation aborted due to errors detected during the verification of the model.

 

检查了好久 发现将check model 去掉就可以了!其中,

one file on是否需要按照表生成许多个sql(默认选上,即不需要)
odbc generation    sql直接生成到数据库中
Automatic archive   生成sql同时生成apm文件。


二、Power designer, 反向工程生成ER图
1. In PowerDesigner, choose File | Reverse Engineer | Database.... The New Physical Data Model Dialog box, shown next, appears.DBMS要选成Oracle 10G, 然后点"OK"
2.在出来的database reverse engineering窗口里, 点上"Using script files", 再点那个"新建"的图标, 会出来个选择文件的对话框,选择script file的位置.then press "OK".
3. 生成ER diagram

 

三、关于利用PowerDesigner导出数据库ER图、PDM图的问题,可参考这里:

 

本文在以下两种时机下较为有用:

1、数据库说明文档与实际数据库的结构同步时。
2、根据现有数据库结构生成其说明文档时。

 

我平时是这样来生成“数据库说明文档”的: 

方法一(SQL Server 2000时是这样做的)

使用这个软件"SchemaToDoc With Table Annotator v2.8.8",在网上很容易找到它的注册机,所以用起来很方便,而且它生成的数据库说明文档也很专业。

但遗憾的是,我却无法用它连接到sql 2005或oracle 10g;
其 企业版"SchemaToDocEnterpriseInstall.exe"倒是可以顺利连接到SQL Server 2005和oracle 10g, 但由于没有注册码,每次只能导出3个对象(这里的对象包括stored procdure, view, table, function等)……

 

方法二

通过PowerDesigner从现有数据库导出PDM(Physical Data Model)图,然后借助另一个小工具PdmReader(可从http://www.pdmreader.com/下载)来分析PDM图,然后生成说明文档。 

下面说一下具体步骤: 

第一部分:通过PowerDesigner生成PDM图。

1、打开PowerDesigner,选择“文件”菜单中的“Reverse Engineer” ,再选择“DataBase”;
2、在弹出的对话框中输入将要创建的PDM文件的名字,并在DBMS选项中选择将要连接的数据库的类型后点击OK;

3、在Database Reverse Engineering Options画面的selection标签下选择“Using a data source”, 并选择用于连接到目标数据库的数据源,点击OK。

4、在Connect to a data source画面中先选择数据源名,再在其下面的输入框中输入连接到目标数据库的user id以及password,点击“Connect”,再点击OK。

5、如果前面的各项配置正确,现在就可以看到当前数据库下的数据对象,如表、视图等,默认会选中所有对象,如果你只想导出某几个表,可以去掉你不想导出的对象前面的勾,然后点击OK,PD就开始为你生成你所选择的对象的PDM图。

6、保存生成的PDM图。

 

第二部分:利用PdmReader生成说明文档

1、生成PDM图后,用PdmReader将其打开;这里需要注意,用PdmReader打开PDM图时,要保证该图没有在PowerDesigner中被打开。
2、点击“新建项目”,在弹出的对话框中输入项目名称,点击确定;
3、选择项目名称,点击“导入数据字典”,并选择刚生成的PDM图,点击Open;
4、在项目名称下选择pdm图链接,右边会出现一个名为“将字典导出到doc”的链接,点此即可。


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!