java.sql.SQLException: 用尽的 Resultset

lzedu 2003-07-16 11:01:19
<2003-7-16 上午10时50分10秒> <Error> <HTTP> <[WebAppServletContext(7317407,Defau
ltWebApp,/DefaultWebApp)] Root cause of ServletException
java.sql.SQLException: 用尽的 Resultset
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:273)
at oracle.jdbc.driver.OracleStatement.prepare_for_new_get(OracleStatemen
t.java:2400)
at oracle.jdbc.driver.OracleStatement.getBinaryStreamValue(OracleStateme
nt.java:3892)
at oracle.jdbc.driver.OracleResultSetImpl.getBinaryStream(OracleResultSe
tImpl.java:395)
at oracle.jdbc.driver.OracleResultSet.getBinaryStream(OracleResultSet.ja
va:1554)
at jsp_servlet._learnjsp._images.__showimg._jspService(__showimg.java:10
4)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:2495)

有遇到过这中问题的同志吗?
...全文
92 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
js_nicle 2003-07-16
  • 打赏
  • 举报
回复
是不是同一个字段,连续取了两次?
ResultSet rs
..
rs.getString(1)
..
rs.getString(1)
acefr 2003-07-16
  • 打赏
  • 举报
回复
没有释放连接,导致资源耗尽
wolfsquare 2003-07-16
  • 打赏
  • 举报
回复
楼主是不是使用完Statement,ResultSet都不close()的?
建议每次用完这些对象都关闭.
wolfsquare 2003-07-16
  • 打赏
  • 举报
回复
不建议直接在jsp中连接数据库,至少也要用连接池啊.
acefr 2003-07-16
  • 打赏
  • 举报
回复
con.close();//释放连接
langjianjun 2003-07-16
  • 打赏
  • 举报
回复
不是很了解,帮你UP
lzedu 2003-07-16
  • 打赏
  • 举报
回复
这是出错的原程序:<%@ page language="java" import="java.sql.*"%>
<%@ page import="java.io.*"%>
<%@ page contentType="text/html;charset=gb2312"%>

<%
Class.forName("oracle.jdbc.driver.OracleDriver");
String url="jdbc:oracle:thin:@10.1.1.139:1521:lztest";
String image_id = (String) request.getParameter("ID");

Connection con=DriverManager.getConnection(url,"test","test");
PreparedStatement sql=con.prepareStatement("select * from test_img WHERE id = " + image_id);
ResultSet rs = sql.executeQuery();

rs.next();
//输入img字段内容到in
InputStream in = rs.getBinaryStream("img");

//以下可是任何处理,比如向页面输出:

response.reset();
//此处的image/jpeg似乎与显示的图片格式无关
//因为我显示jsp和gif都没有错误。icech不是很懂,都是参考别人的。

byte[] b = new byte[1024];
int len;
while((len=in.read(b)) >0)
response.getOutputStream().write(b,0,len);

in.close();
rs.close();
%>
给点意见!!

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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