【Powerdsiger】 逆向工程获取oracle数据库中PMD

  在数据建模过程中,我们建立概念数据模型,通过正向工程生成物理数据模型,生成数据库建库脚本,最后将物理数据模型生成关系数据库。系统数据库设计人员希望能够将数据库设计和关系数据库生成无缝地集成起来,如何保证物理数据模型与其对应数据库之间的双向同步成为数据建模非常关键的一点。Powerdesigner作为强大的Case工具,为我们提供了方便的逆向工程特性。可以将目前所有流行的后端数据库(包括Sybase、DB2、Oracle等)的结构信息通过逆向工程加入到PowerDesigner的物理数据模型和概念数据模型中,包括表、索引、触发器、视图等。

需要使用powerdsigner做逆向工程获取数据库中创建表的相关联系。在使用,连接数据库时候出现如下错误:

第一次连接数据库,powerdsigner·会在数据库上建立以‘PM’开头的表和视图。第二次连接的时候出现

repository -> connect 连接时出现报错:

The repository does not contain all the required definitions. Only an administrator can update it.

点击 确定,出现错误:

The connection failed because the repository has not been installed on this database.

解决方法:

set echo off feed off heading off

spool /home/oracle/droppmtable.sql 

select 'drop table '||tname||' purge;' from tab where tname like 'PM%';

spool off

之后执行产生出的脚本 ,删除数据库中的pm开头的表就解决问题了。

使用powerdsigner·的逆向工程必须先建立ODBC数据源。

1.打开或新建一个PhysicalDataModel文件(.pdm) 

2.在菜单项 Database->Configure Connections ->System DSN ->Add ->选择Oracle ODBC Driver完成->输入Data Source Name(数据源名称,比如RAC),输入Service Name(就是你要连接的数据库的TNSNAMES.ORA 文件里的网络服务名) ,UserID(可以先不填)  点击 OK 

3.Database->Connet->选择第一项Machine data source 选择刚才建好的数据源

RAC,在Login里输入UserID和Password,点击 Connect 。提示连接成功。

 

4.Database->Reverse Engineer Database ->选择 Using an ODBC data source项,下拉框中是刚才配好的数据源 ,点击确定->一个连接输入框输入User Name和Password点击OK 

5.出现表格的列表,选择需要导出的表->点 OK,数据表比较多就需要等待一段时间。

6.将导好的pdm文件转成cdm文件 Tools->Generate Conceptual Data Model -> Ceneral 项:默认的name和code可以自己改改,Detail项: 将 Check model 前面的勾去掉,->确定 cdm图生成。

时间: 2024-12-22 02:12:46

【Powerdsiger】 逆向工程获取oracle数据库中PMD的相关文章

.net实现oracle数据库中获取新插入数据的id的方法_实用技巧

在sql sever中实现插入数据的自动增长是很容易的,但是在oracle数据库中实现这一操作不是很容易,同时要想在.net中实现获取新插入数据的id,而且不会出现读错的情况,就更显得困难了,为了解决在oracle数据中插入的数据能够自增id,同时获取新数据的id,并避免因并发操作而出现的id读错的问题. 数据表结构为test(id,name) 首先,解决数据id自增问题 创建一个序列sequence(sequence详解可从网上搜一下,这里不赘述) create sequence SEQ_te

Oracle数据库中SQL语句的优化技巧_oracle

在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法: 1. /*+ALL_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化. 例如: SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='SCOTT'; 2. /*+FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.

解析Oracle数据库中的对象集合schema_java

搭建一个oracle,下面会有很多schema,每个schema下的数据都不影响. 感觉和mysql的库的概念很像,现在用的数据库管理系统其实也是这么划分的,mysql用的ip+port+库标识,oracle用ip+port+schema标识,平时还总听到一个实例的概念,我的理解就是实例就是一系列相关进程,代表了一个数据库服务.目前线上为了节省资源,常常把机器分成多个实例,用不同的端口号标识,每个实例上有多个schema. 旭哥跟我说的很形象,oracle一个实例上有对应多个库.mysql一个库

Oracle数据库中 call 和 exec的区别_oracle

今天发现了一个小东西,觉得很有意思,查找了一些资料,跟大家分享一下: 在sqlplus中: 在第三方提供的工具(如:plsqldev) 总结: exec是sqlplus的命令,只能在sqlplus中使用. call是sql命令,任何工具都可以使用,call必须有括号,即例没有参数 call必须有括号,即例没有参数 idle> connect /as sysdba 已连接. sys@PO10> sys@PO10> create procedure p_test is 2 begin 3 n

哪位大神指导一下,关于Oracle数据库中类型varchar2(2) 存储汉字的问题

问题描述 哪位大神指导一下,关于Oracle数据库中类型varchar2(2) 存储汉字的问题 大神们跪求招数:orcale数据库中的一个字段YXQDW(有效期单位) 类型varchar2(2) 才两字节 用来存一个汉字,比如"年",我的项目(C#)一个汉字占用3个字节, 写SQL语句 insert不进去啊,提示字段范围超出了.难不成要像blob字段那样写?或者有什么更好的方式能将该字段插入呢?万分感激! 解决方案 可以换成nvarchar(2),这个是可变长度

如何处理Oracle数据库中的坏块问题

oracle|数据|数据库|问题   本文主要介绍如何去处理在Oracle数据库中出现坏块的问题,对于坏块产生在不同的对象上,处理的方法会有所不同,本文将大致对这些方法做一些介绍.因为数据库运行时间长了,由于硬件设备的老化,出现坏块的几率会越来越大,因此,做为一个DBA,怎么去解决数据库出现的坏块问题就成了一个重要的议题了.   一:什么是数据库的坏块   首先我们来大概看一下数据库块的格式和结构 数据库的数据块有固定的格式和结构,分三层:cache layer,transaction laye

下载Oracle数据库中的Blob二进制文件,实例!

oracle|二进制|数据|数据库|下载 将Oracle数据库中HR方案下的TESTFILEUPLOAD表中的文件下载至系统临时目录. void downloadFile()??{???OracleConnection objOcon = new OracleConnection("user id=system;Data Source=tsems;password=system"); ???OracleCommand objOcmd = new OracleCommand(); ???

asp.net查出oracle数据库中的中文乱码问题

把这两天两次安装IBM2650服务器中出现的问题做一个总结: 1.第一次安装,用IBM的引导盘引导,按步就班的下来,选择语言,做Raid5,选择windows系统等等 .安装好windows2003企业版之后,再去安装oracle时,安装到一半时,提示不能创建快捷方式.取消, 再安装还是不能创建快捷方式,就那样安装上了.安装之后oracle运行倒也正常,导入数据,发现中文 变成了乱码.再安装editplus和winrar发现显示窗口的中文也是乱码,右键菜单上的部分中文是乱码. 在网上搜了一下,原

关于ORACLE数据库中汉字显示乱码

  1 引言 ORACLE数据库作为业界领先的数据库产品,近年来在国内大中型企业中得到了广泛的应用.虽然ORACLE数据库产品本身在本地化方面已做得相当成熟,但还是有不少用户反应汉字显示乱码的问题.如对同一数据库不同的用户对同一表中的username查询却得出了不同的结果: "ORACLE??????"和"ORACLE中国有限公司",显然结果中将中文字符显示为乱码,那么为什么呢?字符集的设置不当是影响ORACLE数据库汉字显示的关键问题. 2 关于字符集 字符集是O