当前位置:  技术问答>java相关

及死了,又是数据库问题,高手请进,高分送

    来源: 互联网  发布时间:2015-10-11

    本文导语:  我用  jsp+sql  2k  +  resin  2.14  开发一套系统,但经常死机,资源被耗尽,cpu占用100%   疑是程序有死循环,检查没有发现,今天中午发现在服务器打印出如下错误:     [miverosoft][ODBC  SQL  Server  Driver]  超时已过...

我用  jsp+sql  2k  +  resin  2.14  开发一套系统,但经常死机,资源被耗尽,cpu占用100%  
疑是程序有死循环,检查没有发现,今天中午发现在服务器打印出如下错误:  
 
[miverosoft][ODBC  SQL  Server  Driver]  超时已过期  
 
这是怎么回事,  
连接数据库的bean  如下:  
 
public  class  DBQuery  

       Connection  conn;  
       ResultSet  rs;  
       Statement  stmt;  
       public  DBQuery()  
       {   
               try {  
                       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
               }  
               catch(ClassNotFoundException  classnotfoundexception){  
                       System.err.println("data  begin  err:  "  +  classnotfoundexception.getMessage());  
               }  
       } 
       public  ResultSet  executeQuery(String  s) {  
               rs  =  null;  
               try {  
                       conn  =  DriverManager.getConnection("jdbc:odbc:abc",  "abc",  "12345678");  
                       stmt  =  conn.createStatement();  
                       rs  =  stmt.executeQuery(s);  
                                     
               }  catch(SQLException  sqlexception){  
                       System.err.println("data  query  connect  err:"  +  sqlexception.getMessage());                                   
                                     
               }                                      
                  return  rs;  
       }  
        public  void  executeUpdate(String  s){  
               try {  
                       conn  =  DriverManager.getConnection"jdbc:odbc:whoa30",  "whoa30",  "12345678");  
                       stmt  =  conn.createStatement();  
                       stmt.executeUpdate(s);  
               }catch(SQLException  sqlexception) {  
                       System.err.println("data  update  connect  err:"  +  sqlexception.getMessage());                                      
                                     
               }  
       } 
       public  void  cls(){  
               try {  
                       stmt.close();  
                       conn.close();  
               }catch(SQLException  sqlexception) {  
                       System.err.println("cls  err:  "  +  sqlexception.getMessage());  
               }  
       }  
}  
 
那位能帮忙给看一下,谢了先

|
最好在每个方法里每打开一个连接后就关一次
像你上面的exectueQuery和exectueUpdate方法,
try
{
      try {  
                       conn  =  DriverManager.getConnection("jdbc:odbc:abc",  "abc",  "12345678");  
......
}catch(Exception e)
{
   .....
}
finally {
        try {
            if (stmt != null)
                stmt.close();
        } catch (java.sql.SQLException se) {
            OurLog.debug(se);
        }
        try {
            if (conn != null)
                conn.close();
        } catch (java.sql.SQLException se) {
            ....        }
    }
这样最安全

|
建议不要用odbc的来连接

二 做个数据库连接池

|
千万别忘了在每次使用完结果集后手动关闭结果集,statement,connection(如果你没用连接池)。
另外用连接池可以和好的提高性能。

|
建议你写一个类似Entity Bean一样的bean,把数据库中的数据读出来,然后操作完毕以后提交。这样就不必频繁的连接数据库了

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 又是菜鸟问题:选择哪一种编码,才能把汉字写入MySQL数据库?
  • shtm是什么技术,jsp又是什么技术?
  • 请问tomcat与apache是什么关系? jakarta又是什么?
  • servlets 能打包成.jar文件吗?打包之后又是怎样调用呢?
  • 又是50分,给我提醒,我就给分给你。共一百分!
  • 又买了一个版本的.net,又是装不上,烦也烦死了,还是java爽呀。散点分玩玩。
  • 又是一个继承问题
  • 更改主机名,用hostname更改后启动,又是原来的主机名
  • 又是一个简单问题!
  • 环境变量怎么设啊(@.@又是菜鸟一只)
  • 弱问:一个设备能不能既是字符设备又是块设备?
  • 又是几个问题JList XYLayOut applet下
  • 这个结果是什么?又是为什么?
  • 请问在JAVA里将小写字母换为大写字母是用什么函数,大写转成小写又是用哪个函数?
  • @@@@servlet问题!!(但愿我这最后5分不要又是泥牛入海a!!!!!!)@@@@
  • ZOD-dvd-x86_64.iso中的ZOD是什么意思?Final zod又是什么意思?
  • pwd|sed 's//cygdrive/([a-z])/1:/' | sed 's///#/g'`\/(pwd代表绝对地址)这个sed又是什么
  • 又是100分
  • 又是一个很菜的问题但是不得不麻烦大哥大姐了啊~
  • 又是菜鸟问题
  • 新手送分题(又是无法显示)!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3