我在家里配置的没有问题,但到了单位上就出错了:
提示如下:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)Error Trace in getConnection() : com.microsoft.jdbc.sqlserver.SQLServerDriver
Error: No active Connection at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at Db.getConnection(Db.java:24)
at Db.displayDbProperties(Db.java:42)
at Db.main(Db.java:78)
这好像是说我那三个文件的位置没有加入环境变量中,但我已经加了阿
CLASSPATH:
.;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar:C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;
我在单位用的是xp,驱动是第三版的。那里出错了??
谢谢!

解决方案 »

  1.   

    1、SQL2000打SP3补丁
    2、将这3个文件拷贝到WebServer的lib目录下试试看
      

  2.   

    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
    这是其中一个包的位置对么?
    大哥,电脑虽然牛,但也有智商不高的,这么长,你给我背下来试试,
    有可能是因为名字太长导致的,
    你把这三个包copy到jdk/lib下试试,然后在classpath下加这三个包的位置,你要是配置了java_home就可以写成%java_home%/lib/msbase.jar 多精练???
    你试试先,我有个朋友以前有跟你差不多的问题
      

  3.   

    晕那
    我在WEB环境下(将这三个文件放到了lib目录下)可以使用,为什么在单机环境下不行呢???
      

  4.   

    要加3个JAR文件
    微软网站上有的
    或者GOOGLE一下
      

  5.   

    错了,刚才的WEB中也是不行的,现在出现如下错误提示:
    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 Db.getConnection(Db.java:25)
    at Db.displayDbProperties(Db.java:42)
    at Db.main(Db.java:78)Error Trace in getConnection() : [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    Error: No active Connection现在单机环境的也出现如下提示,这是什么意思??端口错误??
      

  6.   

    在你的工程里要配置sqlserver jdbc的驱动包 不用配置环境变量 是你的工程配置问题
      

  7.   

    1、SQL2000打SP3补丁
    2、将这3个文件拷贝到lib目录下
    没别的
      

  8.   

    我都做了,但还是不行
    现在提示:Error establishing socket
    这是不是说和服务器建立连接时出现错误
    我查看了一下本地的端口,发现1433端口并没被使用。
      

  9.   

    java.sql.Connection  con = null;
         final String url = "jdbc:microsoft:sqlserver://";
         final String serverName= "localhost";
         final String portNumber = "1424";
         final String databaseName= "test";
         final String userName = "haofeng";
         final String password = "123";
         final String selectMethod = "cursor";
        String fullurl=url+serverName+":"+portNumber+";databaseName="+databaseName+";selectMethod="+selectMethod+";";
        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); 
        con = java.sql.DriverManager.getConnection(fullurl,userName,password);
      

  10.   

    打了补丁也不行啊,java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    是什么意思啊
      

  11.   

    jdbc用for sp3的
    试试
      

  12.   

    我也出现过你的问题`~
    我把sql2000升级到sp4就解决了
      

  13.   

    怎样查看sqlserver是用的端口阿??我估计就是这个问题,因为1433端口并没有被使用。
      

  14.   

    你打开SQLServer企业管理器后,在里面右击服务器,便会看到属性,打开属性后,在常规里最下面有一个网络配置,打开后再打开TCP/IP协议的属性,里面有可以改端口号了