Oracle报错汇总: ORA-24816: Expanded non LONG bind data supplied after actual LONG or LOB column

7 篇文章 0 订阅

ORA-24816: Expanded non LONG bind data supplied after actual LONG or LOB column

解决方法:在实际的 LONG 或 LOB 列之后提供了扩展的非 LONG 绑定数据错误,这个错误是因为在绑定参数时把数据库中字段类型为LONG的字段放置在其他字段前设置了,只要将类型为LONG的字段绑定参数时放在最后设置即可解决。

异常出现的环境:oracle10g + Hibernate

错误分析:这是oracle 10g在clob字段中的一个bug,oracle在insert语句时,会默认将所有私有属性按照首字母排序,clob字段如果恰好被排在varchar2或其他非clob字段前,就可能会出现此异常。

解决的方法是:给实体model中clob字段属性前加zz,使其到最后即可。

------------------------------------------------------------------------------------------------------------------------------

数据库报错总结:

1、ORA-00918: 未明确定义列

    解决方法:1)、当在复合查询语句中的时候,查询查询列中重复列,给重复列重命名即可。

    情景重现:1)、分页查询时使用rownum时 :select * from ( select  a.id,a.SYS_CODE,a.SYS_NAME,a.SYS_NAME from  CAS_SYS_INVENTORY a where 1=1 ) where rownum <= 10;当列重复时,便会出现报错情况。

2、 java.sql.SQLRecoverableException: 无法从套接字读取更多的数据

      解决办法:1)、重启了数据库服务器,但是应用服务没有重启。重启应用服务即可。

                          2)、可能是网络原因。

                          3)、表或索引上有数据坏块,扫描表及索引,查看是否有坏块,如果有,进行坏块修复,或表及索引的重建。

3、查看Oracle日志。Oracle数据库的日志文件alert_$ORACLE_SID.log记录了重作日志的转换,数据库启动和关闭,数据库结构的改变,回退段的修改,死锁,内部错误等信息。路径为:

ORACLE_BASE/admin/ORACLE_SID/bdump/alert_ORACLE_SID.log

    新建的Oracle数据库日志文件,Alert log XML文件位置:

SQL> select value from v$diag_info where name ='Diag Alert';

     Alert log文本文件位置:

SQL> select value from v$diag_info where name ='Diag Trace';
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值