日期:2014-05-18  浏览次数:20670 次

一直没有解决的问题!
连续几天都发生这样的错误,心急如焚,求救!
日志如下:
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有没有打好呢?
恳请大家帮助解决!!!
多谢多谢!!!!

------解决方案--------------------
使用microsoft sql server提供的jar驱动文件
------解决方案--------------------
xp用sp1吧,sp2就是有问题.
------解决方案--------------------
只有一个人连接的时候会有这个异常么?如果没有就用连接池吧
------解决方案--------------------
要么你的访问量大,db的连接数不够;要么你的代码写的不好,没有及时的close connection.
------解决方案--------------------
数据库负载了把
劳驾高手啊