PowerDesigner设计的数据库 ORA-0092

异常

数据库由Powerdesigner设计,格式为Oracle10g,由Powerdesigner生成的数据库并没报什么异常,使用navicat也能正常操作,而使用PLSQL Developer去出现"ORA-00942: 表或视图不存在 "的错误。

原由

1、Oracle 是大小写敏感的,即如图所示,tc_bookMARK与TC_BOOKMARK是可以同时存在的

2、我们在使用Powerdesigner生成数据库库时,默认为将所有的表名,字段名转成大写;

3、Oracle 同样支持"" 语法,将表名或字段名加上""后,Oracle不会将其转换成大写;

select * FROM tc_BOOKMARK;--查询的TC_BOOKMARK

select * FROM "tc_bookMARK"; -- 查询表tc_bookMARK

select * FROM "Tc_BOOKMARK";--查询出错

4.也就是说,用Powerdesigner生成的数据库是表名是小写,而PLSQL查询时,表名不会加引号,查询时转为大写,所以小写的表名就查不到;但navicat默认就加了引号,所以查得到。

解决

在PowerDesiger的Database 菜单下的Edit current DBMS-Script->Sql->Forma-CaseSensitivityUsingQuote,它的comment为"Determines if the case sensitivity for identifiers is managed using double quotes",选择"否";这样生成的数据库表名和字段名都会是大写。

时间: 2024-09-16 15:21:47

PowerDesigner设计的数据库 ORA-0092的相关文章

PowerDesigner设计数据库

设计|数据|数据库       PowerDesigner设计数据库                                                                                              李伟华                                                            2000年9月           说明:此文档为本人经验积累之所得,非部门设计文档(版权所有)          

如何用PowerDesigner设计SQL Server数据库

  工具: Sybase PowerDesigner 12.5 Microsoft SQL Server 2005 第一步:概要设计 打开PowerDesigner软件,设计"概念数据模型"(Conceptual Data Model): 图1 设计表结构: 图2 在设计属性(字段)的时候,三个字母(M.P.D)分别表示: M:是否为空;(√表示不允许为空) P:是否为主键; D:是否在该软件的视图中显示; 第二步:详细设计 将"概念数据模型"设计的表转换为&quo

从实体和关系角度看 PowerDesigner 设计数据库模型

从实体和关系角度看 PowerDesigner 设计数据库模型 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 还是从主体和关系出发,我们进行数据库建模. 和面向对象的 UML 建模有类似之处,

如何快速建立数据字典,我如此设计小型数据库!

设计|数据|数据库       在我们工作中,手头不一定都有VISIO等数据库设计软件,往往是我们直接在SQL企业管理器中直接设计数据库,再添加数据库字典,以方便以后的工作及管理.有时我很苦恼,因为我们不得不打两次相现的数据字段的说明,麻烦.       不过,也不尽然,不久前我发现了一个更好的方法:(以我建一个表为例) 1.打开企业管理器. 2.在关系中"右击","新建关系",在让你选择表时选择取消. 3.在关系在,"右键",选"新建

powerdesigner-power desiger软件设计的数据库出现的问题

问题描述 power desiger软件设计的数据库出现的问题 比如级联时 默认的是restrict 但到了sql server就提示错误,,还有进行字段备注时 到sql server 就是 comment on column...可是comment连关键字都不是

.NET Winform登录窗体编程设计及数据库表

.NET Winform登录窗体编程设计及数据库表 : 源代码: 窗体主界面 查找学生(由于重装系统 DB丢失 所以没有数据)

我想设计一个数据库,用来存课表,可是查询的时候该怎么写

问题描述 我想设计一个数据库,用来存课表,可是查询的时候该怎么写 解决方案 首先你得 创建表以及各个列值. 推荐: 列值:key1(储存第几周).key2(星期几).key3(时间段,比如早上8点到10点,用1表示).key4(储存上课内容).key5(储存上课地点) select key4,key5 from table where key1=? and key2=? and key3=? ?是你输入的条件 解决方案二: Select 字段名 from 表名 where 字段名=条件 注:.*

百万用户级电商云上Oracle架构设计与数据库优化

客户介绍: 某电子商务平台自2015年9月份对外提供服务,已在阿里云上稳定运行1年多,近期业务量突增. 据了解,此平台是一个会员制的在线交易平台,业务正在不断上升中,发展形势一片大好的同时,前端应用和后端数据库的压力却越来越大. 目前,该平台国内注册会员用户数已达数百万级别,有上百万的商品数量,在业务高峰期间一小时内可能会达到数万笔交易. 问题分析: 然而,由于应用设计和数据库没有充分优化的问题,导致数据库不堪重赋,CPU一直满负荷运行,整个平台运行缓慢,长此下去,会严重缩减客户数量,故需立即对

Oracle数据库ORA 54013错误的解决办法_oracle

ORA-54013: 不允许对虚拟列执行 INSERT 操作 这是Oracle 11 的新特性 -- 虚拟列. 在以前的Oracle 版本,当我们需要使用表达式或者一些计算公式时,我们会创建数据库视图,如果我们需要在这个视图上使用索引,我们会创建基于函数的索引.现在Oracle 11允许我们直接在表上使用虚拟列来存储表达式.虚拟列的值是不存储在磁盘的,它们是在查询时根据定义的表达式临时计算的.我们不能往虚拟列中插入数据,我们也不能隐式的添加数据到虚拟列,我们只能使用物理列来插入数据.然后可以查询