mssql的jdbc驱动版本不匹配,你应该找一个为WIN2003下sqlserver定制的jdbc驱动。

解决方案 »

  1.   

    我下载了mssqlserver2000 jdbc driver sp3,还是不行
      

  2.   

    1、安装qlserver2000的补丁。
    2、注意一下IP设置问题。
      

  3.   

    sqlser2000打了sp2才能在2003上用:>
    到微软下补丁去拉
      

  4.   

    我也是一个2003 server上面遇到这个问题的人
    正在到处寻找答案
    sqlser2000打了sp3
    但是还是不能用
      

  5.   

    不知道怎么回事的
    我以前用2003server做j2ee也是这样,什么配置都对,补丁也打了,就是不成功有时侯重装一下selserver2000就好了阿
      

  6.   

    sql server要打上sp3补丁就可以了,已经试过多次了
      

  7.   

    呵呵,看来MS和SUN是天生的对头.
      

  8.   

    我的也是有这样的问题!在win2000系统下连接却好好的!在win2003就有问题!
      

  9.   

    驱动程序是可以加载成功!但是只要执行conn=DriverManager.getConnection(url,user,password);
    (说明一下这些变量的值我在前面都已经赋值了)就出错!
      

  10.   

    1.打上windows2003的补丁包
    2.打上mssqlserver200的补丁包
    3.打上mssqlserver2000 jdbc driver的补丁包
    4.Tomcat最好用5.0.19或更高的版本
      

  11.   

    我同学在WIN2003上装SQL2000都可以照样使用,应该不是系统问题吧
      

  12.   

    是不是2003补丁包没打全啊我用的是2003一切正常mysql和sqlserver都好用要不再试试tomcat更高点的版本5.x都应该可以啊 很想和楼主把问题搞明白我的联系方式发到你"我的短消息 "里了
      

  13.   

    下边是错误的信息:
    =======================================================================
    HTTP Status 500 - --------------------------------------------------------------------------------type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.jsp.testmssql_jsp._jspService(testmssql_jsp.java:80)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
    com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
    com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)
    com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)
    com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)
    com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)
    com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
    java.sql.DriverManager.getConnection(DriverManager.java:512)
    java.sql.DriverManager.getConnection(DriverManager.java:171)
    org.apache.jsp.jsp.testmssql_jsp._jspService(testmssql_jsp.java:63)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.
    --------------------------------------------------------------------------------Apache Tomcat/5.0.28
      

  14.   

    我的JSP文件内容如下:
    ==================================================
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <html> 
    <body> 
    <%
    String my_driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=news"; 
    String user="huai"; 
    String password="57209153"; 
    Connection conn=null;
    ResultSet rs=null;
    String sql=null;
    Statement stmt=null;
    try{
    Class.forName(my_driver).newInstance();
    }
    catch(Exception e){
    out.print("无法加载驱动程序:"+my_driver);
    e.printStackTrace();
    }
    out.println("驱动程序加载成功<br>");
    conn=DriverManager.getConnection(url,user,password);
    stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    sql="select name,password from member";
    rs=stmt.executeQuery(sql);
    while (rs.next()){
    out.print("name="+rs.getString("name")+" ");
    out.println("password="+rs.getString("password")+"<br>");
    }
    %>
    </body> 
    </html>
      

  15.   

    跟tomcat没关系
    1. sqlserver 驱动的问题
    检查一下是否放在了Tomcat x\common\lib下面,没放可能有问题,虽然你可能放在自己的project下面,不防copy一份过去。2. sqlserver2000 Sp3
      

  16.   

    下边的JSP可以执行.
    ===============================
    <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
    <html> 
    <body> 
    <%
    String my_driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=news"; 
    String user="huai"; 
    String password="57209153"; 
    Connection conn=null;
    ResultSet rs=null;
    String sql=null;
    Statement stmt=null;
    try{
    Class.forName(my_driver).newInstance();
    }
    catch(Exception e){
    out.print("无法加载驱动程序:"+my_driver);
    e.printStackTrace();
    }
    out.println("驱动程序加载成功<br>");
    %>
    </body> 
    </html>
      

  17.   

    我用2003,没有问题。你的问题是1433端口是否在服务,用netstat -an查看一下
    chs_sql2ksp3.exe这个补丁必须打
      

  18.   

    1.Tomcat x\common\lib目录下也有那三个文件;工程下边也有
    2.sqlserver2000 Sp3我也打了
    可是就是不行,郁闷
      

  19.   

    打补丁后重启就可以。
    我们有一批机器都是2003+sqlserver2000+tomcat
      

  20.   

    我用的win2000 pro+mssqlserver2000个人,也出现这个问题
      

  21.   

    我昨晚已经打好补丁了.不过我没有用netstat -an查看.
    我执行测试程序,结果还是连接失败!
      

  22.   

    我用XP有时也会出现楼主说的问题..有时候重装SQL server就可以了..具体那里出了问题正想知道..我的TOMCAT是4.0的..现帮同学装的时候也出现这个问题..说什么jdbc无法访问..反正和楼主说的提示一样..
      

  23.   

    既然是Error establishing socket错误,
    那可能是你的SQL Server用的port号不正确,
    你把Sql server打开,
    然后在dos 下用netstat /nao 看一下,
    它会显示所有运行的程序占用的端口号,(别关它,呆会有用)你再按Ctrl+Alt+Delete键打开任务管理器,
    选"查看"菜单下的"选择列",然后选PID选项,
    这样你就可以通过PID把SQL server的端口号找到了,
    你用这个端口号试试!
      

  24.   

    sql server的一个bug解决办法:http://support.microsoft.com/default.aspx?scid=kb;en-us;306865
      

  25.   

    String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=news"; 
    把localhost换成你的IP(192.168.0.1)地址看看
      

  26.   

    以前也遇见了 ,2003下jbx就装不上  郁闷死了又换回2000
    建议打sql server sp3的补丁
      

  27.   

    以前我也在win 2003 Server上装了jBuilder x,但装不上,Tomcat也是,装得不完整.
    没办法只好把开发平台移到XP上.速度也比server快!
      

  28.   

    chs_sql2ksp3.exe这个补丁已经打了;
    用netstat -an查看后,1433端口没有在监听,这是怎么回事呀?
      

  29.   

    1、下载Microsoft  SQL  Server  2000  Service  Pack  3a
    http://www.microsoft.com/downloads/details.aspx?FamilyId=90DCD52C-0488-4E46-AFBF-ACACE5369FA3&displaylang=zh-cn  
     
    2、下载SQL  Server  2000  Driver  for  JDBC  Service  Pack  3  
    http://www.microsoft.com/downloads/details.aspx?FamilyId=07287B11-0502-461A-B138-2AA54BFDC03A&displaylang=en  下载后装起就没问题了
      

  30.   

    CLASSPATH=.;c:\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;c:\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;c:\Microsoft SQL Server 2000 Driver for JDBC 
    \lib\mssqlserver.jar环境
    变量
    配了吗?
      

  31.   

    帮你试过了,可能问题就在你应该把三个jar文件拷贝到tomcat目录中的common/lib文件夹中
      

  32.   

    http://support.microsoft.com/default.aspx?scid=kb;en-us;306865  //微软的bug解决
    但我的注册表里有1443啊 可 netstat -a 仍然没有1443呢?