weblogic服务器,oracle数据库,jdbc连接池。代码: int count=0;
if(rs.next() && count<1000){
……
System.out.println(rs.getString(1));
count++;
}异常:
2010-02-10 14:55:06,359 [ERROR][com.dc.gdhl.dao.CtaisDAOStringImpl]:SQL异常:
java.sql.SQLException: ResultSet has no more data.
at weblogic.jdbc.oci.ResultSet.next()Z(ResultSet.java:752)
at weblogic.jdbc.wrapper.ResultSet_weblogic_jdbc_oci_ResultSet.next()Z(Optimized Method) at com.dc.gdhl.dao.CtaisDAOStringImpl.createXml(Ljava.lang.String;ILjava.lang.String;Ljava.lang.String;II)Ljava.lang.String;(Optimized Method)
at com.dc.gdhl.dataHandler.GsDataHandlerAbst.generateXmls()Ljava.io.File;(GsDataHandlerAbst.java:143)
at com.dc.gdhl.dataHandler.GsDataHandlerAbst.execute()V(GsDataHandlerAbst.java:84)
at com.dc.gdhl.job.OrganizeGsDataJob.execute()V(OrganizeGsDataJob.java:57)
at com.dc.gdhl.mytest.JHPTSessionBean$1.run()V(JHPTSessionBean.java:49)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)
2010-02-10 14:55:06,359 [ERROR][com.dc.gdhl.dataHandler.GsDataHandlerAbst]:SQL异常:
com.dc.gdhl.Exception.GdhlException: SQL异常:
at com.dc.gdhl.dao.CtaisDAOStringImpl.createXml(Ljava.lang.String;ILjava.lang.String;Ljava.lang.String;II)Ljava.lang.String;(Optimized Method)
at com.dc.gdhl.dataHandler.GsDataHandlerAbst.generateXmls()Ljava.io.File;(GsDataHandlerAbst.java:143)
at com.dc.gdhl.dataHandler.GsDataHandlerAbst.execute()V(GsDataHandlerAbst.java:84)
at com.dc.gdhl.job.OrganizeGsDataJob.execute()V(OrganizeGsDataJob.java:57)
at com.dc.gdhl.mytest.JHPTSessionBean$1.run()V(JHPTSessionBean.java:49)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)
Caused by: java.sql.SQLException: ResultSet has no more data.
at weblogic.jdbc.oci.ResultSet.next()Z(ResultSet.java:752)
at weblogic.jdbc.wrapper.ResultSet_weblogic_jdbc_oci_ResultSet.next()Z(Optimized Method)
... 6 more
if(rs.next() && count<1000){
……
System.out.println(rs.getString(1));
count++;
}异常:
2010-02-10 14:55:06,359 [ERROR][com.dc.gdhl.dao.CtaisDAOStringImpl]:SQL异常:
java.sql.SQLException: ResultSet has no more data.
at weblogic.jdbc.oci.ResultSet.next()Z(ResultSet.java:752)
at weblogic.jdbc.wrapper.ResultSet_weblogic_jdbc_oci_ResultSet.next()Z(Optimized Method) at com.dc.gdhl.dao.CtaisDAOStringImpl.createXml(Ljava.lang.String;ILjava.lang.String;Ljava.lang.String;II)Ljava.lang.String;(Optimized Method)
at com.dc.gdhl.dataHandler.GsDataHandlerAbst.generateXmls()Ljava.io.File;(GsDataHandlerAbst.java:143)
at com.dc.gdhl.dataHandler.GsDataHandlerAbst.execute()V(GsDataHandlerAbst.java:84)
at com.dc.gdhl.job.OrganizeGsDataJob.execute()V(OrganizeGsDataJob.java:57)
at com.dc.gdhl.mytest.JHPTSessionBean$1.run()V(JHPTSessionBean.java:49)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)
2010-02-10 14:55:06,359 [ERROR][com.dc.gdhl.dataHandler.GsDataHandlerAbst]:SQL异常:
com.dc.gdhl.Exception.GdhlException: SQL异常:
at com.dc.gdhl.dao.CtaisDAOStringImpl.createXml(Ljava.lang.String;ILjava.lang.String;Ljava.lang.String;II)Ljava.lang.String;(Optimized Method)
at com.dc.gdhl.dataHandler.GsDataHandlerAbst.generateXmls()Ljava.io.File;(GsDataHandlerAbst.java:143)
at com.dc.gdhl.dataHandler.GsDataHandlerAbst.execute()V(GsDataHandlerAbst.java:84)
at com.dc.gdhl.job.OrganizeGsDataJob.execute()V(OrganizeGsDataJob.java:57)
at com.dc.gdhl.mytest.JHPTSessionBean$1.run()V(JHPTSessionBean.java:49)
at java.lang.Thread.startThreadFromVM(Ljava.lang.Thread;)V(Unknown Source)
Caused by: java.sql.SQLException: ResultSet has no more data.
at weblogic.jdbc.oci.ResultSet.next()Z(ResultSet.java:752)
at weblogic.jdbc.wrapper.ResultSet_weblogic_jdbc_oci_ResultSet.next()Z(Optimized Method)
... 6 more
应该是int count=0;
while(rs.next() && count<1000){
……
System.out.println(rs.getString(1));---这里getString对应了数据库里的字段了?
count++;
}
这个异常只是在所有结果都打印(print)出后才会出现。
结果集指针已经到了最后一行,但是你还是rs.getXXX()操作...
愚见谨供参考
测试了很多次,当rs.next()没有值时就不会执行while中的语句。