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")