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",选择"否";这样生成的数据库表名和字段名都会是大写。














本文转自我也是个傻瓜51CTO博客,原文链接: http://www.cnblogs.com/liweis/p/6767991.html,如需转载请自行联系原作者




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值