Win2003 + Tomcat6 + SQL2000
一个JSP页面,调用了两个连接对象,我用vbs写了访问脚本,才几十个并发数就返回异常,如下com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机 localhost 的 TCP/IP 连接失败。错误:“Address already in use: connect。请验证连接属性,并检查 SQL Server 的实例正在主机上运行,且在此端口接受 TCP/IP 连接,还要确保防火墙没有阻止到此端口的 TCP 连接。”。 大家帮我分析分析是什么原因

解决方案 »

  1.   

      当然有的
       你自己在dao中,打开了链接,用完了就立即关闭啊。否则很容易报连接数不够的。
      

  2.   

    全部都有关,rs/smt/con都有关闭操作,但还是不行,能否设置最大值?
      

  3.   

    我的数据库没有设置数据上限,SQL2000的,哪里可以设置连接池的并发数?我也没有做连接池啊,我的连接代码如下:Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver").newInstance();
    String url="jdbc:sqlserver://localhost:1433;user=***;password=***;databasename=***";
    Connection con=DriverManager.getConnection(url);
      

  4.   

    JDBC自身没有连接数限制,这取决于你的程序逻辑,以及数据库设置(你没设置的话,总会有个默认数或者最大数)另外你这个错误是因为本机重复使用一个端口引起的(上一次对端口的占用未断开就又使用)而根据你描述的情况来看...
    似乎是因为你用了1433端口(客户端)来连接数据库sqlserver默认监听的是1433端口,也就是说1433已经被占用
    而你的客户端和你的数据库服务器在同一台机子上...却仍然用1433(已被占用)来连接数据库
    所以报错了
      

  5.   

    http://blog.chinaunix.net/u/28326/showart_1069823.html这种问题没遇到过,端口被占用也会出现这种情况!建议google   "Address already in use: connect"
      

  6.   

    估计是端口占用 SqlServer 1433端口 一般限制是很大的不可能几十个连接就占用了 
      

  7.   

    SQL Server2000安装的默认最大连接数似乎是50吧?
    你几十个“并发”,这个时候你说的那些Connection、ResultSet、Statement之类的都还没有关闭呢。所以关键问题在SQL Server的并发限制。
      

  8.   


    每个操作都有关闭,看过SQL2000的属性,设置是0,没有限制
      

  9.   

    搜到一贴,已结贴应该有帮助:
    http://topic.csdn.net/u/20090520/15/3aa9add9-5e8d-427b-9447-f23065a879b1.html
    请看第10楼:
    http://support.microsoft.com/kb/328476/zh-cn
      

  10.   

    用连接池吧,
    像lz这样直接用jdbc的话,很容易挂掉的good luck
      

  11.   

    修改了SQL的监听端口的队列数就好了,谢谢各位