安装好Tomcat或者weblogic后,第一段jsp只是个连接数据库(MS SQL 2000)就通不过。去掉连接数据库代码能运行。
错误始终如下:com.microsoft.jdbc.sqlserver.SQLServerDriver
我想问题出在JDBC了,下载了JDBC for SQL2000 SP3安装后仍然出错。上一无人回复贴地址:http://community.csdn.net/Expert/topic/4742/4742853.xml?temp=.9366114问题解决后150分一起奉送。谢谢各位了,这问题把我搞得太痛苦了

解决方案 »

  1.   

    你是如何安装JDBC 的JAR包的?
    把它加到CLASSPATH中了吗?
      

  2.   

    在你安装了JDBC后,会产生三个jar包,把这三个jar包加到classpath下,如果你是用的eclipse,就在工程属性中把这三个jar包以外部包的形式加入到工程里。
    另外,你是用的什么连接字符串?
      

  3.   

    下载后安装后不是有三个jar文件吗,weblogic是把这三个文件拷贝到D:\bea\weblogic81\server\lib。再修改classpath:  D:\bea\weblogic81\server\lib\msutil.jar;D:\bea\weblogic81\server\lib\mssqlserver.jar;%CATALINA_HOME%\common\lib\servlet.jar;
      

  4.   

    连接串:
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
    String url = "jdbc:microsoft:sqlserver://localhost:1400;DatabaseName=EADB";
    String user ="sa";
    String password = "";
    Connection conn = DriverManager.getConnection(url,user,password);
    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
      

  5.   

    楼现在的错误一般就两种情况,
    一是没有找到相应的类,也就是说没有加载SQLSERVER的数据库驱动JAR包;
    二是没有正确地使用连接字符串
      

  6.   

    你是你的workshop吗?
    还有,SQLSERVER的这个驱动好像要以JDBC-ODBC桥的方式来连接才行
      

  7.   

    JDBC for SQL2000 SP3得确定安装.
    执行setup.exe是执行解压,而解压后执行setup.bat才是真正的安装.
      

  8.   

    楼主是修改的环境变量中的classpath吗?
    最好不要去修改那个东西,在你编译的时候加入classpath参数就行了
      

  9.   

    从微软的网站上下载驱动程序:SQL Server 2000 For JDBC 驱动程序,在Google中随便搜索就有。   然后将它安装好。(比如安装目录是D:\SQLDriverForJDBC。)   然后必须将安装目录中的lib目录下三个jar文件:   msbase.jar,mssqlserver.jar,msutil.jar拷贝到Tomcat目录下common\lib目录下,之后,修改环境变量中的CLASSPATH,
    把SQL Server 2000 For JDBC 驱动程序安装目录下的
    D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
    D:\SQLDriverForJDBC\msutil.jar;
    追加到CLASSPATH中去,修改后的CLASSPATH如下: CLASSPATH=D:\Java\bin;.;D:\Java\lib;D:\Java\lib\dt.jar;
    _D:\Java\lib\tools.jar;D:\LubeeTomcat\common\lib\servlet.jar;
    _D:\SQLDriverForJDBC\lib\msbase.jar;D:\SQLDriverForJDBC\lib\mssqlserver.jar;
    D:\SQLDriverForJDBC\msutil.jar
      

  10.   

    用eclipse试试..把三个jar文件复制到工程的lib就ok了...
      

  11.   

    rombus(努力事业)的我试过了错误如下:[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
      

  12.   

    我在weblogic8.1下使用的jdbc是:
    Class.forName("weblogic.jdbc.sqlserver.SQLServerDriver")
    url是jdbc:bea:sqlserver://localhost:1433
    在我这里能够使用,希望对你有所帮助!
      

  13.   

    com.microsoft.jdbc.sqlserver.SQLServerDriver
    少驱动吧
      

  14.   

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance(); 
    Connection conn = DriverManager.getConnection("jdbc:odbc:MyDataSource","sa","");
    Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    改用sun的驱动,在odbc里的驱动管理里新建数据源。能成功,不过用microsoft的还是没有找到解决办法。大家继续讨论……
      

  15.   

    我用12楼的方法在weblogic8.1出现下面的错误[BEA][SQLServer JDBC Driver]Error establishing socket to host and port: localhost:1433. Reason: Connection refused: connect
      

  16.   

    ----rombus(努力事业)的我试过了错误如下:[Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.可能原因:1)你安装的sqlserver没有打sp3补丁
              2)sqlserver端口号跟连接字符串中的不同(默认是1433)
              3)sqlserver端口号被屏蔽了
      

  17.   

    总结一下楼上的贴:
    1.配置环境变量JAVA_HOME , path , CLASSPATH
    2.jdbc纯驱动连接sql server 必须安装 sqlserver sp4补丁
    3.安装jdbc纯驱动,也就是把 三个jar文件放到Tomcat 目录下的common 下的lib 目录下
    4.连接代码(注意用户sa是混合模式时的用户名)Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
    String url = "jdbc:microsoft:sqlserver://localhost:1400;DatabaseName=EADB";
    String user ="sa";
    String password = "";
    Connection conn = DriverManager.getConnection(url,user,password);
    Statement stmt = conn.createStatement
      

  18.   

    楼上的说的是。
    不过好像有一点,数据库驱动是放在webapps/root/web-inf/lib 里的吧。
    待求证。
      

  19.   

    1.端口我是修改了sql Server为1400的,所以连接代码为1400。1433也不行。
    2.jdbc的驱动sp3和Microsoft SQL Server 2005 JDBC Driver我都装了,也都放到lib的目录下试过了,还是不行,没有找到原因。
    3.至于楼上所说的是放在webapps/root/web-inf/lib 还是 common 下的lib 目录下
    如果把应用程序放在.../ROOT/下的话,可以把mssql.jar放在webapps/root/web-inf/lib,放在commom/lib下也可以。如果应用程序需要打包发布的话还是要放在web-inf/lib下
      

  20.   

    强调用sun.jdbc.odbc.JdbcOdbcDriver跟端口是1433还是1400没有关系,都能连接上。
      

  21.   

    回bigraywolf(真的爱你): 
    sp3的补丁已经装了
    我在使用weblogic的服务里面的连接缓冲池的时候把sqlserver的端口改成1400和1433 都试过都是下面的错误提示。
    [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 
      

  22.   

    如果是windows的话,
    1.用 
        netstat -an | findstr 1433
        命令,看看哪个端口开着,并查询数据库服务是否正常
    2.把防火墙关闭试试
    3.如果是2003的话注意打补丁
      

  23.   

    我曾经也出现过这样的错误,当时用的是XP系统,无奈之下就没有理它。后来换了2000server,无意中一运行,结果一点问题也没有。不知与操作系统有没有关系
      

  24.   


    好象是 win2003 才有 问题吧。
      

  25.   

    楼主是用的 win XP,
      

  26.   

    我以前也遇到这个问题,升级到sp3就可以了,如果不行可以升级到sp4