连续几天都发生这样的错误,心急如焚,求救!
日志如下:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at com.cba.dbconnect.Connect.getConnection(Connect.java:23)
at com.cba.dbconnect.QueryBean.<init>(QueryBean.java:16)
at org.apache.jsp.detail_jsp._jspService(detail_jsp.java:81)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
这段日志中三个应用程序的关系是detail.jsp在第81行调用QueryBean.java,该java程序在第16行调用Connect中的getConnection,那最后是不是表示Connect.java代码的第23行有问题?
产生问题的环境描述:
网站流量每天在600左右,并发连接数在50之内。
这个错误并不是每次调用该程序都产生的,请教各位dx为什么有时候会报上述的错误呢?
Connect.java代码如下:package com.cba.dbconnect;
import java.sql.*;
import java.lang.*;
import java.util.*;public class Connect {//数据库连接源调用getConnection方法
    
Connection conn = null;
    String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
String sConnStr ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
String sDBuser = "sa";
String sDBpswd = "123456";
   
public Connection getConnection() throws Exception
    {
        try{
        Class.forName(sDBDriver);
        系统报错行---conn=DriverManager.getConnection(sConnStr,sDBuser,sDBpswd);
}catch (Exception e){
//System.out.println("无法建立数据库链接"+e.getMessage());
        e.printStackTrace();
        }return conn;
    }}
以前发该问题的时候,dx们建议打sp4补丁,后来和数据库服务商联系,打完补丁后仍然后这样的情况出现,而且越来越频繁,服务商说是我们的jdbc有问题。想请教各位dx,怎么解决这个问题?如果是jdbc有问题,需要用哪个版本的?如何检查是否是服务商的sp4有没有打好呢?
恳请大家帮助解决!!!
多谢多谢!!!!

解决方案 »

  1.   

    使用microsoft sql server提供的jar驱动文件
      

  2.   

    要么你的访问量大,db的连接数不够;要么你的代码写的不好,没有及时的close connection.
      

  3.   

    我检查过了,应该都close了,也许还有遗漏的?
      

  4.   

    我配置连接池也有这个问题,配置db2的时候没有问题,但是sql server有问题,出现这个错误,