00. 目录。
    01) 开发环境。
    02) Test.java 源代码。
    03) 编译命令。
    04) 运行命令。
    05) 运行error。
-------------------------------------- end: 00. 目录。01. 开发环境。
    1) 环境变量。
        (1) 系统环境变量
            (a) OS = Windows 2000 Pro 中文版
            (b) windir = c:\winnt
            (c) JAVA_HOME = D:\Borland\JBuilder2005
            (d) JBOSS_HOME = d:\jboss
            (e) CLASSPATH = .;D:\jboss\client\*.jar;D:\Progra~1\Micros~3\lib\*.jar;D:\Borland\JBuilder2005\jdk1.4\bin\*.jar;D:\Borland\JBuilder2005\jdk1.4\jre\lib\*.jar
                "D:\Progra~1\Micros~3\lib\*.jar" = "D:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\*.jar"
            (f) Path = D:\Borland\JBuilder2005\jdk1.4\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Progra~1\Micros~3\80\Tools\BINN;D:\Progra~1\Quincy99\Mingw32\bin
        (2) 用户环境变量
            (a) JAVA_HOME = D:\Borland\JBuilder2005\jdk1.4\jre
            (b) JBOSS_HOME = d:\jboss
    2) Microsoft SQL Server 2000 中文版
     (1) 使用的数据库名:df
     (2) 使用的表名:room_2
     (3) room_2 的创建。
         create table df..room_2 (
                 name char(20),
                 capacity char(20)
         );
         insert into df..room_2
           (name, capacity)
           values ('教室1', '30');
    3) Microsoft SQL Server 2000 Driver for JDBC
        (1) 拷贝了3个文件到 D:\jboss\server\default\lib 目录中。分别是:
            a) msbase.jar
            b) mssqlserver.jar
            c) msutil.jar
        (2) 修改了 D:\jboss\server\default\deploy\mssql-ds.xml 文件。
        (3) 修改了 D:\jboss\server\default\deploy\mssql-xs-ds.xml 文件。
-------------------------------------- end: 01. 开发环境。02. Test.java 源代码。
import java.sql.*;class Test {//本程序在jdk1.4.2下调试通过.
    public static void main(String args[]) {
        String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind";
        String user ="sa"; //这里替换成你自已的数据库用户名
        String password = "sa"; //这里替换成你自已的数据库用户密码
        String sqlStr = "select CustomerID, CompanyName, ContactName from Customers";        try{    //这里的异常处理语句是必需的.否则不能通过编译!    
            Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
            System.out.println( "类实例化成功!" );            Connection con = DriverManager.getConnection( url, user, password );
            System.out.println( "创建连接对像成功!" );            Statement st = con.createStatement();
            System.out.println("创建Statement成功!");            ResultSet rs = st.executeQuery( sqlStr );
            System.out.println("操作数据表成功!");
            System.out.println("----------------!");            while(rs.next())
            {
                System.out.print(rs.getString("CustomerID") + "    ");
                System.out.print(rs.getString("CompanyName") + "    ");
                System.out.println(rs.getString("ContactName"));
            }
            rs.close();
            st.close();
            con.close();
        }
        catch(Exception err){
            err.printStackTrace(System.out);
        }
    }

-------------------------------------- end: 02. Test.java 源代码。03. 编译命令。
D:\user\temp\s31\mssql_driver>javac Test.java
-------------------------------------- end: 03. 编译命令。04. 运行命令。
D:\user\temp\s31\mssql_driver>java Test
-------------------------------------- end: 04. 运行命令。05. 运行error。
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at Test.main(Test.java:11)
-------------------------------------- end: 05. 运行error。

解决方案 »

  1.   

    com.microsoft.jdbc.sqlserver.SQLServerDriver
    包不存在应该把mssql.jar放到lib里面去
      

  2.   

    a) msbase.jar
                b) mssqlserver.jar
                c) msutil.jar
        这3个文件放在当前运行目录中。
        classpath包含了".;",即当前运行目录。
      

  3.   

    问题解决了。用jdbc-->odbc的桥,替换了Microsoft SQL Server 2000 Driver for JDBC就好了。
    其它不变。
    换了个名字,test2.java。源程序如下:import java.sql.*;public class test2 {
    public static void main(java.lang.String[] args) {
    try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    } catch (ClassNotFoundException e) {
    System.out.println("Unable to load Driver Class");
    return;
    }

    try {
    Connection con = DriverManager.getConnection("jdbc:odbc:pubs", "sa", "sa");
    Statement stmt = con.createStatement();
    ResultSet rs = stmt.executeQuery("select emp_id, fname, minit, lname, job_id from pubs..employee;");

    while (rs.next()) {
    System.out.println(rs.getString("emp_id") + "\t" + rs.getString("fname") + "\t" + rs.getString("minit") + "\t" + rs.getString("lname") + "\t" + rs.getString("job_id"));
    }

    rs.close();
    stmt.close();
    con.close();
    } catch (SQLException se) {
    System.out.println("SQL Exception: " + se.getMessage());
    se.printStackTrace(System.out);
    }
    }
    }