首页 > 技术文章 > Oracle 常见错误

jsbk 2018-11-19 10:46 原文

1 .ssm 插入oracle 出现无效字符 Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符 ;

      问题所在:xml 文件中sql 语句有  ;   ,去掉 ; 就可以了

2 .  无效的列类型: 1111 

     问题所在: 没有加jdbcType 映射  ---------如  #{passWord,jdbcType=VARCHAR}  

3 . java.sql.SQLSyntaxErrorException: ORA-00984: 列在此处不允许 

       问题所在:sql 语句错误, 各种小错误都可能存在:比如插入时 使用了" " 而不是' '  ,Oracle 不支持  "  "

4. java.sql.SQLException: ORA-01502: 索引 'SA.SYS_C0010993' 或这类索引的分区处于不可用状态    

       问题所在:对表进行修改就可能导致这个错误

       解决方法: 重建索引:indexname 为索引名  ,可以用工具查看索引名(你起得索引对象名不一定为索引名)

alter index indexname rebuild online;

5.java.sql.SQLException: ORA-00917: 缺失逗号

       问题所在:翻译就是你的符号缺少,可能是 少 ,   也可能少  (  )   也可能  ' ' 运用错误

6.[Err] ORA-00997: 非法使用 LONG 数据类型

      问题所在:对,就是不能使用LONG 类型 ,Oracle 对LONG 的限制很多  ,建议用 CLOB  \  BLOB  代替 

7 .[Err] ORA-01747: user.table.column, table.column 或列说明无效

     问题所在:sql 出现Oracle 关键字

      解决: 加双引号,注意大小写

8 .[Err] ORA-00979: 不是 GROUP BY 表达式

       https://blog.csdn.net/linan0930/article/details/16508025 

          select 列表项中不存在的列可以出现在group by的列表项中,但在select列表项中出现的列必须全部出现在group by后面(聚合函数除外)。

9. Cause: java.sql.SQLException: 索引中丢失  IN 或 OUT 参数:: 1

       问题所在: insert 语句忘了加      useGeneratedKeys="true"  造成

       数据库中的字段类型与SQL语句中的类型不匹配造成的

9 .[Err] ORA-24344: 成功, 但出现编译错误 

       问题所在: 一般都是你引用的,创建的对象出现 错误

10. [Err] ORA-00922: 选项缺失或无效

      问题所在:一般为语法错误

11.   Oracle 中的DATE 类型 

     一定要加  jdbcType=DATE  ,否则它不会报错的,但是你就是不对,还很难发现

12 .number  变 varchar 排序问题

       处理:    to_number(B."id")

 

 

 

        

      

 

 

 

 

  

推荐阅读