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)
at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:120)
at JDBCTest.main(JDBCTest.java:57)

解决方案 »

  1.   

    classpath没有包括com.microsoft.jdbc.sqlserver.SQLServerDriver所在的目录或者包吧?
      

  2.   

    sqlserver 2000 for jdbc 有三个jar文件,要在classpath中进行设置。
    看你的错误信息好像没有找到驱动程序。
      

  3.   

    install_dir/lib/msbase.jar  
    install_dir/lib/msutil.jar  
    install_dir/lib/mssqlserver.jar 
      

  4.   

    将代码中的这一句:
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
    换为:
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    即可。
      

  5.   

    数据库连接使用ODBC方式:
    Connection myConn =
    DriverManager.getConnection("jdbc:odbc:Northwind","forum","forum");//(“Northwind”表示数据库源,后面是用户名和密码)
      

  6.   

    给你个完整的例子吧:
    import java.awt.*;
    import java.sql.*;class JDBCTest extends Frame 
    {
    TextArea myTextArea;
    public JDBCTest () 
    {
    //设定程序的显示界面
    super("一个简单的JDBC范例");
    setLayout(new FlowLayout());
    myTextArea = new TextArea(30,80);
    add(myTextArea);
    resize(500,500);
    show();
    myTextArea.appendText("数据库查询中,请等待......\n");
    }
    void displayResults(ResultSet results) throws SQLException 
    {
    //首先得到查询结果的信息
    ResultSetMetaData resultsMetaData = results.getMetaData();
    int cols = resultsMetaData.getColumnCount();
    //将等待信息清除
    myTextArea.setText("");
    //显示结果
    while(results.next()) 
    {
    for(int i=1;i<=cols;i++) 
    {
    if(i>1)
    myTextArea.appendText("\t");
    try
    {
    myTextArea.appendText(results.getString(i));
    }
    //捕获空值时产生的异常
    catch(NullPointerException e){}
    }
    myTextArea.appendText("\n");
    }
    }

    public boolean handleEvent(Event evt) 
    {
    if (evt.id == Event.WINDOW_DESTROY) 
    {
    System.exit(0);
    return true;
    }
    return super.handleEvent(evt);
    }

    public static void main(String argv[]) throws SQLException,Exception 
    {
    //设定查询字串
    String queryString = "select * from Customers";
    JDBCTest myJDBCTest = new JDBCTest();
    //加载驱动程序
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    //建立连接
    Connection myConn =
    DriverManager.getConnection("jdbc:odbc:Northwind","forum","forum");
    Statement myStmt = myConn.createStatement();
    //执行查询
    ResultSet myResults = myStmt.executeQuery(queryString);
    myJDBCTest.displayResults(myResults);
    //关闭所有打开的资源
    myResults.close();
    myStmt.close();
    myConn.close();
    }
    }
    ------------------------------
    我已经调试通过了;如果你的机器环境没有问题,那么这个例子可以正常运行的。