数据库连接rs/stmt不关闭,只关闭conn会出现什么问题!

zxp_net 2003-10-21 09:27:00
Connection conn = ds.getConnection();
statment stmt = conn.........
ResultSet rs = stmt.............
rs.excute();


conn.close();

这样会出现什么问题,为什么呢??
...全文
219 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxp_net 2003-10-21
  • 打赏
  • 举报
回复
大家是否遇到过这种异常:
Error Message: Connection reset by peer: socket write error
Error Code: 500
Target Servlet: null
Error Stack:
java.net.SocketException: Connection reset by peer: socket write error
at java.net.SocketOutputStream.socketWrite(Native Method)
at java.net.SocketOutputStream.write(SocketOutputStream.java(Compiled Code))
at com.ibm.ws.io.Stream.write(Stream.java(Compiled Code))
fengyuxi 2003-10-21
  • 打赏
  • 举报
回复
正确的释放资源顺序应该是:
result.close();
statement.close();
connection.close();
lqz790815 2003-10-21
  • 打赏
  • 举报
回复
感觉这样比较合适:
if ( rs != null )
{
try
{
rs.close () ;
}
catch ( Exception ex )
{}
}

if ( stm != null )
{
try
{
stm.close () ;
}
catch ( Exception ex )
{}
}

if ( conn != null )
{
try
{
conn.close () ;
System.out.println ( "conn.close" ) ;
}
catch ( Exception ex )
{}
}
vcshcn 2003-10-21
  • 打赏
  • 举报
回复
最好再加上rs = null; stmt = null;
zxp_net 2003-10-21
  • 打赏
  • 举报
回复
CoolAbu:好像是这样的。但为什么都喜欢用rs/stmt.close()呢,用与不用有什么区别,那种用法好些
fengyuxi 2003-10-21
  • 打赏
  • 举报
回复
关键是:
数据库cursor资源将被慢慢耗尽!
CoolAbu 2003-10-21
  • 打赏
  • 举报
回复
rs的资源没有释放,等待Garbage Collector来收集。
zxp_net 2003-10-21
  • 打赏
  • 举报
回复
不可能,记录能取出,能执行,但不知道资源是否释放。等等......
lmh7607 2003-10-21
  • 打赏
  • 举报
回复
記錄取不出吧.

67,512

社区成员

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

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