免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1107 | 回复: 0
打印 上一主题 下一主题

实际问题,请教斑竹和高手们,谢谢! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-06-30 17:03 |只看该作者 |倒序浏览
前不久上了个WEB项目,JSP+TOMCAT5+SYBASE
实施后SYBASE经常性死锁,然后down库,此数据库原来就有,上面
在跑以前的delphi系统,应该说数据库没问题.只可能是JSP程序
造成这种现象.

JSP页面中通常有如下类似代码:
Connection cn=cm.getConn();
ResultSet rs=sh.searchQK(cn,par1);
while(rs.next()){
  out.println(rs.get(1));}
rs.close();
cn.close();

说明:
cm是声明使用的一个后台bean,方法getConn()是通过读取一个写
有数据库连接信息的配置文件用Class.forName()及DriverManage
r.getConnection()生成一个Connection对象,并将其return.
由于在SQL语句中创建了临时表,使得SQL执行后要立即断开Connecti
on,所以没有用DataSource连接池得到Connection.

sh是声明使用的一个后台bean,方法searchQK()定义大致如下:
public ResultSet searchQK(Connection cn,String par1){
Statement stmt =cn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
String sql = " UPDATE TABLE1 SET NUM=100 WHERE 1=1 ";
if(!par1.equals(""){sql += " AND BH="+par1+" ";}
sql += "SELECT * FROM TABLE1 ";
ResultSet rs = stmt.executeQuery(sql);
return rs;}

问:
1.会否在页面层频繁开关Connection连接引起死锁down库?
2.会否用Statement一次执行几条SQL组成的复合SQL(如UPDATE+SELECT)引起死锁down库?
这样做是否一定要先cn.setAutoCommit(false);然后cn.commit();
3.还有什么其它可能的原因吗?

另:
我用的数据库driver是jconn2.jar,数据库打了jconnect补丁.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP