PowerDesigner16.5 连接Oracle 11g 数据库 逆向生成ER图 以及所遇到的坑

这篇文章是根据其他两个帖子学习以及遇到的坑总结的。我主要是为自己记录一下,防止日后忘记 或找不到原帖。

 

这篇文章是介绍如何连接Oracle 生成 ER 图

https://blog.csdn.net/weixin_41477980/article/details/80298594

然后这篇文章解决了生成的ER图没有注释列的问题

https://blog.csdn.net/yangshengli/article/details/9038243

=========================================================================

我的环境与上面帖子中的稍有不同,但是也都大同小异。我主要记录一下遇到i的坑。

1. JDK 需要安装32位的,不然PowerDesigner会报错。并且需要配置电脑的环境变量 (系统变量),如果已安装了64位的JDK也可以再安装32位的然后把原来64的环境变量配置改为32的路径(我是这么做的,但是我没试过两个都配置)。

2. 电脑需要至少安装了Oracle的客户端 (Oracle Client)。

3.需要下载 ojdbc14.jar 并放到Oracle目录 例如   "C:\app\【你电脑的用户名比如administrator】\product\11.2.0\client_1\jdbc\lib\ojdbc14.jar"。

4.设置环境变量 变量名 CLASSPATH 值为ojdbc14.jar的所在目录(就比如上面的那个)。

=========================================================================

下面直接进入生成ER图的步骤 (原帖地址:https://blog.csdn.net/weixin_41477980/article/details/80298594)

1.打开PowerDesigner 选择 File->Reverse Engineer ->Database,名字自己取一个 DBMS 选择 ORACLE Version 11g。

2.如下图所示进入设置连接。

3.进入Configure。

4.添加数据源。

5.填写设置,需要注意的是下面红色框内的选项。

特别需要注意的是 JDBC connection URL 需要改成自己的。 比如 jdbc:oracle:thin:@127.0.0.1:1521:xe

6.点击TestConnection 测试是否能够连接。

7.选择刚才设置好的数据源,点击确定。

8.选择数据源后,填写账户和密码。然后点击 Connect。

9.点击确定。

10.然后会出现所有的表,点击确定后生成 ER图。

=========================================================================

生成ER图之后会发现没有注释(Comment)

解决方案如下:(原帖地址:https://blog.csdn.net/yangshengli/article/details/9038243)

1.在PowerDesigner的 tools --> resources --> dbms --> 双击oracle version 10g 打开DBMS属性窗口,在general选项卡中选择script-->objects-->column-->SQLlistquery修改其中的内容为: 

{OWNER, TABLE, COLUMN, DTTPCODE, LENGTH, SIZE, PREC, NOTNULL EX, DEFAULT, COMMENT, COLNNAME, ExtNotNullConstraintName EX, ExtNotNullDeferOption EX}
 
select
   c.owner,
   c.table_name,
   c.column_name,
   decode(c.data_type_owner, NULL, replace(c.data_type, 'TIMESTAMP(6)', 'TIMESTAMP'), c.data_type_owner||'.'||c.data_type),
   decode(c.data_type_owner, NULL, decode(c.character_set_name, NULL, to_char(decode(c.data_type, 'RAW', c.data_length, c.data_precision)), to_char(c.char_col_decl_length) || decode(c.char_used, 'C', ' char', '')), NULL),
   c.data_precision,
   decode(c.data_precision, NULL, NULL, c.data_scale),
   decode(c.nullable, 'N', 'NOT NULL', [%ISDBAUSER%?'%SqlGetNotNullConstName.'||c.owner||c.table_name||c.column_name||'nullable%':'']),
   c.data_default,
   m.comments,   
   m.comments,  
   [%ISDBAUSER%?'%SqlGetNotNullConstName.'||c.owner||c.table_name||c.column_name||'%':''],
   [%ISDBAUSER%?'%SqlGetNotNullConstName.'||c.owner||c.table_name||c.column_name||'state%':'']
from
   sys.all_tab_columns c,
   sys.all_col_comments m
where
   c.table_name = %.q:TABLE%
   and c.table_name = m.table_name
   and c.column_name = m.column_name
   and c.owner = m.owner
[  and c.owner=%.q:SCHEMA%]
order by
   c.owner, c.table_name, c.column_id

 

2.设置显示的列 Tools -> Display Preferences

3. 选择 Table ,并在右侧勾选Comment 。然后点击 Advanced。

4.点击下图中的放大镜

5.下图是我的配置。

 

都设置好后保存(我选择的全部应用设置)。其实设置显示备注这个操作应该先设置,然后再生成ER图。如果你发现设置之后备注没有出现,那么请更新模型或重新生成ER图。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值