情景

项目中使用Powerdesigner设计数据结构,在Powerdesigner中数据表和字段都区分了大小写,并生成了Oracle表,在执行Sql脚本时遇到以下问题:“ORA-00942: 表或视图不存在“

1、问题产生的原因:Oracle 区分字母大小写

例如:

建表方式一:

create table user_Info  (
user_address VARCHAR2(50) not null,
user_name NVARCHAR2(50), constraint PK_T_WINDRADAR primary key (wr_id) );

建表方式二:

create table "user_Info" ( 
"user_address" VARCHAR2(50) not null,
"user_name" NVARCHAR2(50),
constraint PK_T_WINDRADAR primary key (wr_id) );

两种方式建表的结果:一个表名为USER_INFO,另一个表名为user_Info

因为 Oracle 支持"" 语法,将表名或字段名加上""后,Oracle不会将其转换成大写,如果不加""Oracle默认会将字母转成大写。

如果加上了"",那么我们采用一般的SQL语句查询则会产生“ORA-00942: 表或视图不存在 ”,因此SQL脚本中需要将表名也加上""。

select * from  "user_Info";

这种情况在我们手写SQL的时候一般不会发生,但是我们使用powerdesigner设计数据库的时候,由于不注意会经常出现此类问题,因为Powerdesigner生成的SQL文件默认是加""的。

2、Powerdesigner更改设置

  在PowerDesiger菜单中的Database下的Edit current DBMS中

  选择Script->Sql->Format,有一项CaseSensitivityUsingQuote,它的comment为“Determines if the case sensitivity for identifiers is managed using double quotes”,

表示是否适用双引号来规定标识符的大小写,可以看到右边的values默认值为“YES”,改为“No”,点击【应用】按钮。

  这样再生成sql语句时,表和字段名上是没有引号了。
  更改完设置之后需要重新启动!
 
EF、DbEntry等生成的Sql脚本默认是带""

Oracle:"ORA-00942: 表或视图不存在"的更多相关文章

  1. 【Oracle】查看表或视图的创建语句

    这里用到的是Oracle的DDL语句的用法 用于获得某个schema下所有的表.索引.视图.存储过程.函数的DDL set pagesize 0 set long 90000 set feedback ...

  2. 查看Oracle有哪些表或者视图

    转自:http://www.2cto.com/database/201211/167577.html 1.查询当前用户下,有哪些表 Sql代码   SELECT * FROM user_tables ...

  3. oracle DBA 常用表和视图

    ☆dba_开头.....   dba_users      数据库用户信息   dba_segments  表段信息   dba_extents    数据区信息   dba_objects    数 ...

  4. oracle取出所有表和视图

    select c.TABLE_NAME, d.COMMENTS, d.table_type, (select wmsys.wm_concat(a.column_name) from user_cons ...

  5. oracle 查看用户表数目,表大小,视图数目等

    查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * fr ...

  6. ORACLE中dba,user,v$等开头的常用表和视图

    一.Oracle表明细及说明1.dba_开头表    dba_users           数据库用户信息    dba_segments    表段信息    dba_extents        ...

  7. Oracle 10g通过创建物化视图实现不同数据库间表级别的数据同步

    摘自:http://blog.csdn.net/javaee_sunny/article/details/53439980 目录(?)[-] Oracle 10g 物化视图语法如下 实例演示 主要步骤 ...

  8. 表或视图不存在 Hibernate Oracle

    曾经运行一个别人写的程序,之前连的别人的机器的数据,后来我把数据导入到本地数据库中运行,出错,如下:Hibernate: select sum(rdb_alert_0_.EVENT_COUNT) as ...

  9. 使用Navicat迁移MySQL数据至Oracle时大小写原因报“表或视图不存在”问题处理

    使用Navicat提供的数据传输工具将JEECMSv9的MySQL的数据迁移至Oracle数据库,数据迁移成功表都存在,但是在程序启动时提示表或视图不存在. Caused by: java.sql.S ...

随机推荐

  1. cookie—基于js的coolie使用

    //设置cookie function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.get ...

  2. 1:3访问 servlet API 的两种方式(request,session等内置对象)

    1:解耦方式 2:耦合方式: ========================================== ========================================== ...

  3. MFC中利用GDI+进行双缓冲作图的有关设置

    这里只是在遇到实际问题的时候提出的一种解决方法,用以处理闪屏问题. 首先要做的是对GDI的一个设置问题: 在应用程序类中添加一个保护权限数据成员 class C...App: {... private ...

  4. Python 在字符串中处理html 和xml

    问题: 想将HTML 或者XML 实体如&entity; 或&#code; 替换为对应的文本.再者,你需要转换文本中特定的字符(比如<, >, 或&). 解决方案: ...

  5. IBM究竟是一家怎样的公司

    每次被问到这样的“简单”问题,我都很纠结: 这家公司,从创始至今已经积累了几十万种技术(2015年蝉联专利排行榜23年之久,仅2015年专利数7355项),开发了上万种产品(从银行的交易系统,到航空的 ...

  6. Mist 转移默认区块存储位置方法

    http://8btc.com/thread-35325-1-1.html 看了bunaifeiqq 发的帖子“Mist 转移区块存储位置方法”,综合帖子下面的发言,自己做了测试,可行.电脑系统win ...

  7. 《JDK 8.0 学习笔记》1~3章

    第一章 Java平台概论 了解Java的发展历程和相关术语如JDK.JVM.JRE等 第二章 从JDK到IDE 书本介绍了新建Java程序的注意事项以及在cmd和Eclipse环境下如何运行Java, ...

  8. PHP 手机号中间4位加密

    /** * 中间加密 字符串截取法 */ public static function encryptTel($tel) { $new_tel = substr($tel, 0, 3).'****'. ...

  9. [原][译][osgearth]API加载地球(OE官方文档翻译)

    原文参考:http://docs.osgearth.org/en/latest/developer/maps.html#programmatic-map-creation 本人翻译水平有限... 加载 ...

  10. Mac Hadoop2.6(CDH5.9.2)伪分布式集群安装

    操作系统: MAC OS X 一.准备 1. JDK 1.8 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-dow ...