com.microsoft.jdbc.sqlserver.SQLServerDriver
你能确保有这个类吗?怎么配置的  把 配置信息贴出来看看!你用什么编译的?控制台  还是 其他 ide  ?

解决方案 »

  1.   

    ClassNotFoundException的错误,肯定是*.jar没放进去。
    我根据自己的体会说一点,要是错了请指出
    CLASSPATH有2种,一种是永远的,在系统的“环境变量”里,要想偷懒就把*.jar放这里;还一种是临时的,打开一个cmd窗口,用set命令设置的就是临时的,不影响别的窗口,把窗口关了就消失,CLASSPATH就变成第一种了。
    还有一点要注意,除了j2sdk***\lib可以不用一个一个导入固定的jar,别的jar都要一个一个导入,如c:/lib/a.jar;c/lib/b.jar;……不能c:/lib,这样一个也每导入
      

  2.   

    com.microsoft.jdbc.sqlserver.SQLServerDriver
    你能确保有这个类吗?
    -----------
    这个不是JDK自带的吗?
    *********************************
    怎么配置的  把 配置信息贴出来看看!
    ----------------
    这是我的环境变量中PATH的配置:
    .;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;E:\j2sdk1.4.2_06\bin;E:\j2sdk1.4.2_06\lib;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;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
    ******************************************
    你用什么编译的?控制台  还是 其他 ide  ?
    -----------------------------
    javac Datawindow.java
      

  3.   

    这个和PATH没关系。应该是classpath。要把驱动的全名写在classpath里,不能只是目录。
    例如C:\msbase.jar
      

  4.   

    不是吧!PATH里面应该没有问题的.
      

  5.   

    把三个jar放在jre/lib/ext下重起控制台
      

  6.   

    path?
    是classpath。
    基本上来说这样就不会有问题。
      

  7.   

    在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
      

  8.   

    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    java.sql.DriverManager.registerDriver( new com.microsoft.jdbc.sqlserver.SQLServerDriver() );
      

  9.   

    javac -classpath .;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;E:\j2sdk1.4.2_06\bin;E:\j2sdk1.4.2_06\lib;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;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 Datawindow.java我就不信这个不行!呵呵
      

  10.   

    我把三个.JAR文件COPY到我的\JSDK1.4.2_06\jre/lib/ext下没用.
    另我以上的路径是设在了PATH里,如果我新建一个CLASSPATH就会出现编译可通过,在运用时根本进不了程序就提示说:[main ]NotFoundExceptionerror  之类的这个我就不贴了。要设定CLASSPATH挺烦的。
    还有这个CLASSPATH我在我的AUTOEXEC。BAT文件里也用过还是不行。对了那个JDBC驱动多大?是不是我下错了?我的是2000多KB。安装时就一路NEXT了。也没出什么问题。
      

  11.   

    回复人: kaymo(宫女在前面跑,皇帝在后面追,有时跌倒,有时没...再) ( ) 信誉:100  2004 
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    java.sql.DriverManager.registerDriver( new com.microsoft.jdbc.sqlserver.SQLServerDriver() );
    ***********************
    你的这个也没用,因为是Class.forName........就抛出了异常。
      

  12.   

    请楼主把一下信息添加到
    Classpath 再 temp 里面的开始  注意有个 点号.;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
      

  13.   

    照旧,其实我觉得这个PATH与CLASSPATH不是问题.
      

  14.   

    path 和classpath是不一样的
    大家都说了半天,你的问题照旧,这就奇怪了
      

  15.   

    请楼主把一下信息添加到
    Classpath 再 temp 里面的开始  注意有个 点号.;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
      

  16.   

     回复人: mmm_____mmm(mmmmmm) ( ) 信誉:100  2004-12-23 16:54:00  得分: 0  
     
     
       照旧,其实我觉得这个PATH与CLASSPATH不是问题.
      
     
    =========================楼主是个坚持真理的人! :(
      

  17.   

    url="jdbc:microsoft:sqlserver:myodbc:1433;DatabaseName=myjava";
                                 ^^^^^^^^这里应该是你的ip或计算机名称
    如下:
    url="jdbc:microsoft:sqlserver://192.168.0.1:1433;DatabaseName=myjava";
                                    这里应该是你的ip或计算机名称
      

  18.   

    没用,我加了这个.了,把我加在PATH那里面的那个.也去了,还是没用.
      

  19.   

    把SQL SERVER 2000重装了一遍还是不行,不知道是怎么了,上面的方法我都用过了.
    1.把三个JAR文件COPY到我的\JRE\LIB\EXT下
    2.把JAR的三个路径设在PATH环境变量中
    3.把JAR的三个路径设在CLASSPATH的TEMP中(这个CLASSPATH就是  我的电脑.属性.高级.窗口的上面的那个有TEMP与EMP路径的那个小窗口是吧!)
    4.把CLASSPATH在AUTOEXEC.BAT中设定为SET CLASSPATH=..............
    就是不行.
    但那个数据表可以用sun.jdbc.odbc.JdbcOdbcDriver  那种方法找到.
    怎么了?我怎么了?中了什么奖了?
    对了我在下JDBC驱动之前下了一个Microsoft SQL Server 2000 Driver for JDBC driver pack 1安装在我的计算机上了,后来找不到安装在那个地方就删除了,重下了一个Microsoft SQL Server 2000 Driver for JDBC到我的C:(默认路径)还能与这个有关?
    还有,我昨天在卸了那个SQL SERVER 2000后安装时说是一闪就过去了。后来我把CLASSPATH中的那三个JAR路径的设置去掉了就能装上了。不知道怎么会事。谁遇过这种情况!!!
    帮帮俺吧!!!!!!!!!!!!!
      

  20.   

    1.安装jdbc驱动(jdbc_sp3版本)
    2.把jdbc驱动中三个JAR文件COPY到我的\JRE\LIB\EXT下(不用设置classpath)
    3.写程序,调试运行import java.sql.*;
    public class JDBC_Connect {
    public static void main(String[] args) {
    Connection conn;
    String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=myjava";
    String user = "sa";
    String pwd = "1356786";
    try {
    Class.forName(driver);
    conn = DriverManager.getConnection(url, user, pwd);
    } catch (Exception e) {
    System.out.println("Error: " + e.toString());
    }
    System.out.println("Finished!");
    }
    }如果这样还有问题,就是人品问题了
    String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=myjava";
                                            这里的ip是服务器的ip地址
      

  21.   

    你最好把那些驱动文件单独放在一个文件里面,那个program files中间有空格,可能因为这个找不到。你自己建一个目录,专门放一些驱动文件,然后加到classpath中去。还有把驱动文件放到C:\Program Files\Java\j2re1.4.2_04\lib\ext这个目录下面,并不是马上就生效,要重启几次的。
      

  22.   

    楼主,classpath的概念不清楚,大家其实已经说得很清楚了,我没用过sql server数据库,看了上面的留言我安装,变了程序试了一下,完全没问题!
        楼主,我想对你说一下环境变量path和classpath是什么东东,即使看了上面你的留言,你依然那么坚持真理,对不起了,请原谅我的多嘴!path是您用的操作系统提供的环境变量,您一定试过在命令行输入一个命令然后它就执行了,很好玩吧。你输入的比如说是〉ffff,可这个文件明明在D:/****/***/ffff.exe那个路径下,在命令行中,不管在那个路径下输入都能执行呢,这就是因为,再path中设置了这个路径。那classpath有什么作用呢?编java程序的时候你知道import的作用吧!当你要用的class,在某一个.jar下是,你需要在编译时引入,jvm自动去找classpath环境变量引入下面的jar包,这就是classpath环境变量的作用,你把jar包设到path路径下,有什么用呢!?
      

  23.   

    测试代码如下:
    import java.sql.*;
    public class Jd 
    {
    public static void main(String[] args) 
    {
    Connection conn;
    String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String url = "jdbc:microsoft:sqlserver://zhang:1433;DatabaseName=myjava";
    String user = "sa";
    String pwd = "13567860023";
    try 
    {
    Class.forName(driver);
    System.out.println("1111111111111");
    conn = DriverManager.getConnection(url, user, pwd);
    System.out.println("2222222222222");
    }
    catch (Exception e) 
    {
    System.out.println("toString:\n"+e.toString()+"\nmessage:\n"+e.getMessage());
    }
    System.out.println("Finished!");
    }
    }
    f:\myjava\csdn>java Jd
    1111111111111
    toString:
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
    hing socket.
    message:
    [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    Finished!f:\myjava\csdn>
    现在第一步环境变量已经完成,可是下面的数据库找不到啊!
    我的这句jdbc:microsoft:sqlserver://zhang:1433;DatabaseName=myjava中的ZHANG分别做过以下修改:
    1.zhang  //计算机名
    2.192.168.0.93  //我在内网内的网址
    3.myodbc   //我的数据源名称
    4.ZHANG/SERVER  //我的SQL SERVER 2000服务器的服务实例名
    大家帮我改啊!!!!!!!!1
      

  24.   

    String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=myjava";
      

  25.   

    import java.sql.*;
    import java.net.*;
    public class Jd 
    {
    public static void main(String[] args) 
    {
    Jd mytool=new Jd();
    Connection conn;
    String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    String url = "jdbc:microsoft:sqlserver://zhang/192.168.0.93:1433;DatabaseName=myjava";
    String user = "sa";
    String pwd = "13567860023";
    try 
    {
    Class.forName(driver);
         System.out.println("The Server IP is:"+mytool.getServerIP());
    conn = DriverManager.getConnection(url,user,pwd);
    System.out.println("2222222222222");
    }
    catch (Exception e) 
    {
    System.out.println("toString:\n"+e.toString()+"\nmessage:\n"+e.getMessage());
    }
    System.out.println("Finished!");
    }
    InetAddress myServer;
    public InetAddress getServerIP()
    {
    try
    {
    myServer=InetAddress.getByName("zhang");
    }
    catch (UnknownHostException e)
    {
    }
    return(myServer);
    }
    }
    怎么会提示不行?如下:
    F:\myjava\csdn>java Jd
    The Server IP is:zhang/192.168.0.93
    toString:
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
    hing socket.
    message:
    [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
    Finished!
    **************
    这个ZHANG/192.168.0.93是我查到的本机的IP啊!
      

  26.   

    回复人: zyg158((DD)A One-Time Password System) ( ) 信誉:另外,那个127.0.0.1我用过提示照旧.
    这个databaseName是数据库的名字吧,不是数据源吧!
      

  27.   

    不对,应该不是的^_^
    好像是数据库socket连接设置的问题,不清楚了
      

  28.   

    对了,我在网上看到好像要加上import com.microsoft.*;可我在加上后JAVAC时提示:
    f:\myjava\csdn>javac Jd.java
    Jd.java:3: package com.microsoft does not exist
    import com.microsoft.*;
    ^
    1 errorf:\myjava\csdn>
    是不是还有一个路径要设????还是JSK有问题?要重装?
      

  29.   

    那说明你的jdbc驱动程序还是没有找到
    你把jdbc驱动文件放到/j2sdk1.4.2_04/jre/lib/ext目录下
    (这样做驱动文件的classpath设置可以去掉)
    不会立即生效,重启一下
    这个目录是系统默认查找jar文件的地方
      

  30.   

    这样根本不行,连Class.forName(driver);
    都过不了.
      

  31.   

    哦。还有个情况。我前个系统装过JBuilder2005.里面的databasePolit是可以连上的.但自已写个程序就无法连接,提示异常:java.lang.ClassNotFoundException:com.microsoft.jdbc.sqlserver.SQLServerDriver
    而用ODBC-JDBC桥可以连接。
    现在重装系统后当然一切都没问题了。
    希望能给楼主一个参考。
      

  32.   

    回复人: tom2005(快乐着) ( ) 信誉:110 
    *********************
    用什么工具?
      

  33.   

    对了,这个import com.microsoft.*;是一定要加的对吧!
      

  34.   

    import com.microsoft.*;不用加用JBuilder或这eclipse --- 编程的环境(IDE)
      

  35.   

    构造函数不能有返回类型 void
      

  36.   

    终于搞好了,谢谢大家!(自已搞定)!!!!!!!!!
    回复人: xiaoxhui(飞) ( ) 信誉:100  2004-12-24 10:58:00  得分: 0  
    在这之前谢谢你给我讲解的CLASSPATH与PATH的区别,帮了俺大忙.
    另:告诉大家这个JDBC用IP与远程的连接要注意以下问题:
    1.CLASSPATH的设置
    2.端口号的测试:CMD后:NETSTAT -AN
    我这远程非默认实例的端口号为:1042不是1433
    结贴!!!!!!!!!!!!!