关于无法从套接字读取更多的数据错误的排查处理
关于无法从套接字读取更多的数据错误的排查处理
项目报错 java.sql.SQLRecoverableException: 无法从套接字读取更多的数据 查看日志定位到一个查询当中,将mybatis执行语句复制到工具当中执行偶尔会执行成功,大部分情况出现ORA-03113,ORA-03114报错,排查原因发现是此sql语句套用了项目当中分页插件,原本在sql语句最后的order by语句变为子查询当中的了,去除order by语句之后可以正常运行… 多做了几遍测试发现查询条件当中(以下字段为示例) 1.AND xxx like ‘%’|| #{xxx } ||‘%’ 2.AND xxx like (select xxxx from table where a=#{b}) || ‘%’ 这两个条件+order by同时使用才会导致报错,单独使用并不会,怀疑是条件中的子查询导致的问题 我这里将子查询改为了判断的left join查询 <![CDATA[ left join table pa ON #{b} = pa.a ]]> 2.AND xxx like pa.xxx|| ‘%’ 测试后加order by也不会出现报错问题
虽然不知道原理,但还是解决了当前问题,也没有影响到业务,有知道这两个条件连在一起加上order by为什么会出现报错的大神还请告知
下一篇:
数据库杂谈-聚集索引和非聚集索引