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

llbupt 2012-12-09 10:02:50
程序运行一段时间就会出现下面的错误,下面加颜色的地方是自己的代码,不知道是什么原因引起的,有遇到过的吗?
java.sql.SQLException: 无法从套接字读取更多的数据
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1118)
at oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1070)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:478)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:213)
at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:796)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1031)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:836)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1124)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3329)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:208)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1808)
at org.hibernate.loader.Loader.doQuery(Loader.java:697)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1881)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:71)
at org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:65)
at org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3072)
at org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:434)
at org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:415)
at org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:165)
at org.hibernate.event.def.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:223)
at org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:126)
at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:905)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:842)
at org.hibernate.impl.SessionImpl.get(SessionImpl.java:835)
at org.springframework.orm.hibernate3.HibernateTemplate$1.doInHibernate(HibernateTemplate.java:531)
at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:419)
at org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
at org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:525)
at org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:519)
at com.hibernate.dao.CompanyDAO.findById(CompanyDAO.java:58)
at com.hibernate.service.CompanyService.findById(CompanyService.java:47)
at com.hibernate.action.service.RunQianReportActionService.isSuper(RunQianReportActionService.java:211)
at org.apache.jsp.ShowReport.showReport_005fDC_jsp._jspService(showReport_005fDC_jsp.java:114)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.filter.LoginFilter.doFilter(LoginFilter.java:38)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
...全文
2226 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
失落夏天 2012-12-11
  • 打赏
  • 举报
回复
引用 5 楼 llbupt 的回复:
引用 4 楼 AA5279AA 的回复:直接创建一个main方法,调用Dao层的。 另外属性方式注入也需要set get方法才能进行注入啊。 是set方法注入的,里面有get,set,然后这样直接使用属性应该也没问题吧。我的代码里面都是这样写的
setAaa() 如果你的属性名也是Aaa的话就没有问题,所以班都是使用默认自动生成的。。 另外我让你自己创建一个main方法直接调用Dao层,是让你判断一下是Dao层还是其他层出了问题,只是我感觉,应该是Dao层的问题。。那个问题我遇到过,不过想不起来怎么解决的了。。
kongkong303 2012-12-11
  • 打赏
  • 举报
回复
换下你的ojdbc驱动试试
  • 打赏
  • 举报
回复
引用 6 楼 sd4000784 的回复:
自己google一下吧、刚才搜索出来很多不同的内容和遇到异常的问题以及解决方式、 java.sql.SQLException: 无法从套接字读取更多的数据 触发器、防火墙、sql语句、配置数据连接、等等.. 范围太大、自己去找找出错的原因吧、
最好先看看oracle的日志文件 看看有什么提示没、也方便缩小查找的范围
  • 打赏
  • 举报
回复
自己google一下吧、刚才搜索出来很多不同的内容和遇到异常的问题以及解决方式、 java.sql.SQLException: 无法从套接字读取更多的数据 触发器、防火墙、sql语句、配置数据连接、等等.. 范围太大、自己去找找出错的原因吧、
llbupt 2012-12-11
  • 打赏
  • 举报
回复
引用 4 楼 AA5279AA 的回复:
直接创建一个main方法,调用Dao层的。 另外属性方式注入也需要set get方法才能进行注入啊。
是set方法注入的,里面有get,set,然后这样直接使用属性应该也没问题吧。我的代码里面都是这样写的
失落夏天 2012-12-11
  • 打赏
  • 举报
回复
直接创建一个main方法,调用Dao层的。 另外属性方式注入也需要set get方法才能进行注入啊。
llbupt 2012-12-09
  • 打赏
  • 举报
回复
引用 2 楼 fangmingshijie 的回复:
this.hibernateTemplate.get(Company.class, id);没有给hibernateTemplate提供setget方法吗?
直接以属性方式注入的
  • 打赏
  • 举报
回复
this.hibernateTemplate.get(Company.class, id);没有给hibernateTemplate提供setget方法吗?
llbupt 2012-12-09
  • 打赏
  • 举报
回复
系统使用的是SSH框架,出错地方的程序代码如下: public Company findById(int id){ return (Company)this.hibernateTemplate.get(Company.class, id); }

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧