帮我看看,网站都做了近2周了,突然出现这个问题。帮忙看看
com.microsoft.sqlserver.jdbc.SQLServerException: 到主机  的 TCP/IP 连接失败。 
java.net.SocketException: No buffer space available (maximum connections reached?): JVM_Bind
核心调用类:
package s2jsp.byjs.dao;
import java.sql.*;public class BaseDao {
      private static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
      private static final String URL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=company_zb";
      private static final String PASS="sa";
      private static final String USER="sa";
      
      private Connection conn=null;
      private PreparedStatement pstmt=null;
      public ResultSet rs=null;
      /***
       * 连接数据库的方法
       * */
      public void getConn(){
     try{
      Class.forName(DRIVER);
             conn=DriverManager.getConnection(URL, USER, PASS);
     }catch(ClassNotFoundException e){
     e.printStackTrace();
    
     }catch(SQLException e){
     e.printStackTrace();
     } 
      }
      
      /***
       * 查询的方法
       * */
      public ResultSet exceQuery(String sql ,String[] args){
       getConn();
       try{
       pstmt=conn.prepareStatement(sql);
       if(args!=null&&args.length>0){
       for(int i=0;i<args.length;i++){
       pstmt.setString(i+1, args[i]);
       }
       }
           rs=pstmt.executeQuery(); 
       }catch(SQLException e){
       e.printStackTrace();
       }
       return rs;
      }
      /**
       * 
       * 新增的方法
       * **/
      public int exceUpdateInsert(String sql,String[]args){
       getConn();
       int num=0;
       try{
       pstmt=conn.prepareStatement(sql);
       if(args!=null&&args.length>0){
       for(int i=0;i<args.length;i++){
       pstmt.setString(i+1, args[i]);
       }
       }
           num=pstmt.executeUpdate(); 
       }catch(SQLException e){
       e.printStackTrace();
       }
       return num;
      }
      /**
       * 
       * 修改的方法
       * **/
      public int exceUpdateUpdate(String sql,String[]args){
       getConn();
       int num=0;
       try{
       pstmt=conn.prepareStatement(sql);
       if(args!=null&&args.length>0){
       for(int i=0;i<args.length;i++){
       pstmt.setString(i+1, args[i]);
       }
       }
           num=pstmt.executeUpdate(); 
       }catch(SQLException e){
       e.printStackTrace();
       }
       return num;
      }
      public int exceUpdateDelete(String sql,String[]args){
       getConn();
       int num=0;
       try{
       pstmt=conn.prepareStatement(sql);
       if(args!=null&&args.length>0){
       for(int i=0;i<args.length;i++){
       pstmt.setString(i+1, args[i]);
       }
       }
           num=pstmt.executeUpdate(); 
       }catch(SQLException e){
       e.printStackTrace();
       }
       return num;
      }
      
      public void closeAll(){
       try {
if(rs!=null)
  rs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
       try {
if(pstmt!=null)
  pstmt.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
       try {
if(conn!=null)
  conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();

     }
     }
一个实现类:
package s2jsp.byjs.dao;import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;import s2jsp.byjs.entity.User;public class UserDao extends BaseDao{
  public User findUser(String UserName,String PassWord){
  String sql="select * from USERS where userName=? and password=?";
  String []args={UserName,PassWord};
  User user=null;
  try{
   rs=this.exceQuery(sql, args);
   if(rs.next()){
     user=new User();
     user.setPassword(rs.getString("password"));
     user.setUserName(rs.getString("userName"));
     user.setStatus(rs.getInt("status"));
     user.setUserID(rs.getInt("userID"));
   }
   }catch(SQLException e){
  e.printStackTrace();
  }finally{
  this.closeAll();
  }
   return user;
  }
  public boolean findUser(String userName){
  String sql="select * from USERS WHERE userName=?";
  boolean result=true;
  String []args={userName};
  try{
  rs=this.exceQuery(sql, args);
  if(rs.next()){
  result=true;
  }else{
  result=false;
  }
  }catch(SQLException e){
  e.printStackTrace();
  }finally{
  this.closeAll();
  }
  return result;
  }
  public List selectAllUser(){
  List list=new ArrayList();
  User user=null;
  String sql="select * from USERS ";
  try{
  rs=this.exceQuery(sql, null);
  while(rs.next()){
  user =new User();
  user.setPassword(rs.getString("password"));
  user.setUserName(rs.getString("userName"));
  user.setStatus(rs.getInt("status"));
  user.setUserID(rs.getInt("userID"));
  list.add(user);
  }
  }catch(SQLException e){
  e.printStackTrace();
  }finally{
  this.closeAll();
  }
  return list;
  }
  public int deleteUserById(String UserId){
  int num=0;
  String sql="delete  from USERS where userId=?";
  String []args={UserId};
  num=this.exceUpdateDelete(sql, args);
  return num;
  }
  public int insertUser(String Username,String UserPass,int status){
  int num=0;
  String sql="insert into USERS values(?,?,?)";
  String []args={Username,UserPass,status+""};
  num=this.exceUpdateInsert(sql, args);
  return num;
  }
}