• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
返回主页

我也是个傻瓜

热衷于GIS数据、分析、制图和开发!

  • 首页
  • 联系
  • 订阅
  • 管理

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

作者:我也是个傻瓜
出处:http://www.cnblogs.com/liweis/
签名:成熟是一种明亮而不刺眼的光辉。

posted @ 2017-04-26 12:52  我也是个傻瓜  阅读(380)  评论(0)    收藏  举报
刷新页面返回顶部

公告

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3