你将jar放到应用服务器的lib目录下。
如果用jcreator的话,要设定自己的classpath。

解决方案 »

  1.   

    try again like followed.String  url="jdbc:microsoft:sqlserver://Stury:1433"; 
    Connection conn= DriverManager.getConnection(url,user,password); 
    conn.setCatalog("pubs");
      

  2.   

    classpath设置没有错,你可以试着在dos下命令执行你的程序,看看会不会报错。因为我怀疑你是用某些工具编译,那么极有可能是你在工具里面没有设置使用驱动。
    如果在dos下还报错,则是代码问题,改成这样试试:
          String address = "jdbc:microsoft:sqlserver://192.168.0.118:1433";//ip为目标数据库ip
          String user="sa";//用户名
          String passwd="";//口令
          String database = "TESTDB";//数据库名
          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
          Connection con = DriverManager.getConnection(address,user,passwd);
          con.setCatalog(database);
          Statement smt = con.createStatement();
      

  3.   

    To  alphazhao(绿色咖啡)
    DOS下的还是如此。
    提示信息为:
    E:\Java\MySql\MySql2k.java:23: unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown
          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
               ^
    1 error
      

  4.   

    你肯定你的E:\J2SDK1.4.0\Lib\目录下一定有那些jar文件?
      

  5.   

    还有,你在dos下用的命令是什么?没有把你的classpath给覆盖了吧!
      

  6.   

    to shihb()是的,那些文件是我安装完后拷过去的。肯定存在的。javac MySql2k.java
    这一句 Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    我认为是问题所在。
    可是却不知道 是什么问题,真是头大。
      

  7.   

    我没有用过sqlserver,不过我可以肯定地说这个问题在于classpath没有把相应的jar文件包进来,你在cmd下用set命令看看你的classpath到底是什么,另外,你可以用winzip打开那个jar文件,看看能不能找到SQLServerDriver这个class文件,而且相应的包是com.microsoft.jdbc.sqlserver。
      

  8.   

    显然是加载SQLServerDriver驱动程序不成功嘛。
    1.要么你没有这个driver.
    2.要么你有这个driver,没有在classpath中设置该driver的路径。
    你好好的查查classpath中设置该driver的路径和有没有该driver.对于程序没有什么问题。
      

  9.   

    我没有用过sqlserver,不过我可以肯定地说这个问题在于classpath没有把相应的jar文件包进来,你在cmd下用set命令看看你的classpath到底是什么,另外,你可以用winzip打开那个jar文件,看看能不能找到SQLServerDriver这个class文件,而且相应的包是com.microsoft.jdbc.sqlserver。
      

  10.   

    我看了你给的在dos下的错误提示
    看不出是否是上面所说的种种错误
    唯一能确定的就是:你的链接数据库部分的代码没有捕捉异常!!!
    这部分代码要放到一个try……catch(Exceptioin e)中来捕捉它可能产生的异常。
    而你没有,所以出错。至于你的classpath如果真如你所言,肯定可以,因为你用的驱动我曾经用过。
    顺便给你一个我刚刚test了的一个完整的链接数据库的代码:
    package alpha;
    import java.sql.*;
    public class Test {
      public static void main(String[] args) {
        try {
          String address = "jdbc:microsoft:sqlserver://192.168.0.118:1433";//本机ip
          String user="sa";//数据库用户密码
          String passwd="";//口令
          String database = "TESTDB";//目标数据库
          Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");//申明
          Connection con = DriverManager.getConnection(address,user,passwd);//建立链接
          con.setCatalog(database);
          Statement smt = con.createStatement();
          String selCode = "SELECT TOP 1 ServerName,StartTime,ExitTime,ExitFlag FROM ServerLog";
          ResultSet r = smt.executeQuery(selCode);
            String ServerName = "";
            String StartTime = "";
            String ExitTime = "";
            String ExitFlag = "";
          while(r.next()) {
            ServerName = r.getString("ServerName");
            StartTime = r.getString("StartTime");
            ExitTime = r.getString("ExitTime");
            ExitFlag = r.getString("ExitFlag");
          }
          System.out.println("ServerName"+ServerName);
          System.out.println("StartTime"+StartTime);
          System.out.println("ExitTime"+ExitTime);
          System.out.println("ExitFlag"+ExitFlag);
        }
        catch(Exception e) {
          System.out.println(e);//捕捉异常
        }
      }
    } //
      

  11.   

    to shihb():
        那个CLASS和包倒是找到,在mssqlserver.jar中便有。而用cmd命令下也是正常的。
      

  12.   

    哎呀!alphazhao(绿色咖啡)说得有道理!你在Class.forName("...")的时候没有用try catch块吧!dos下报的错是:must be caught or declared to be thrown,而不是真正的类没有找到错误!!!
      

  13.   

    哎呀!!!原来是这样....怪不得。太感谢alphazhao(绿色咖啡)、shihb()两位大侠的帮助.....了...我的msn:[email protected] 。希望能与两侠大侠结交...
      

  14.   

    唉……
    公司开始实行工作时间关网政策……
    别说qq和ie,连msn都不让上了……苦阿