各位老大,菜鸟配置环境变量如下,并且安装了SQL Server 2000 JDBC驱动程序,但还是报ClassNotFoundException,求高手帮忙.
.;F:\JAVA软件\新建文件夹\lib\tools.jar;
F:\JAVA软件\新建文件夹\lib\dt.jar;
F:\JAVA软件\新建文件夹\lib\htmlconverter.jar;
F:\JAVA软件\新建文件夹\bin;
F:\JAVA软件\新建文件夹\bin\msbas.jar;
F:\JAVA软件\新建文件夹\bin\msutil.jar;
F:\JAVA软件\新建文件夹\bin\mssqlserver.jar;我的测试代码如下:import java.sql.*;class Mysql
{
public static void main(String[]args)throws Exception
{
Connection conn;
Statement st;
String dbURL ="jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=pubs";
String user = "sa";
String password = null;
String sql="select title_id,title from titles ";

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn=java.sql.DriverManager.getConnection(dbURL,user,password);
st=conn.createStatement();
ResultSet rs=st.executeQuery(sql);

while(rs.next())
{
System.out.println("Title_id : "+ rs.getString("title_id"));
System.out.println("Title : "+ rs.getString("title"));
}
st.close();
conn.close();
}
}

解决方案 »

  1.   

    将你的三个.jar包copy to :%JDK_HOME%\jre\ext
      

  2.   

    放到EXT下可以了,但接着又报SQL错误怎么回事?
      

  3.   

    SQL错误是;Error establishing socket
      

  4.   

    最好不要放在中文路径下,这样容易产生问题,不妨新建一个非中文目录再设一次
    如 D:\mylib
      

  5.   

    在DOS下报这错误:NoClassDefFoundError
      

  6.   

    先换成本机ip试试!你用netstat -an 查看一下是否有1433端口开着
    如果你的数据库为命名实例的话,端口不是默认的1433,
    你可以通过Sql Server 服务器网络工具中的tcp/ip属性查到相应的端口号例如:我装的SqlServer的服务器为XIAOHUASZ\XIAOHUASZ
    则:
    String url="jdbc:microsoft:sqlserver://XIAOHUASZ\\XIAOHUASZ;DatabaseName=XHBookShop";

    String url="jdbc:microsoft:sqlserver://169.254.71.244:1986;DatabaseName=XHBookShop";
      

  7.   

    配置了数据源也不行,错误说是不合适的驱动,但为什么数据源测试又可以连接,JAVA中又不行?
      

  8.   

    用全英文表示路径,打sp3补丁,网上一堆一堆的,
    String password = null;改成String password ="";
    另外:以sa的身份你手动登陆下数据库,看能不能进去,如果手动都登陆不进去,那说明你sqlserver有问题!
      

  9.   

    to:回复人: xiaohuasz() ( ) 信誉:100 
        127.0.0.1不是代表本机,那是代表哪个机子?表示本机的方法:
    1:本机机器名
    2:本机ip
    3:loacalhost
    4:127.0.0.1
    以上方法均可以,个人比较喜好第三种方法
      

  10.   

    晕!更正一下,第三种方法写错了
    应该是localhost
      

  11.   

    import java.sql.*;class Mysql
    {
    public static void main(String[]args)throws Exception
    {
    Connection conn;
    Statement st;
    String dbURL ="jdbc:odbc:sqldsn";//sqldsn我的数据源名称
    String user = "sa";
    String password = "";
    String sql="select title_id,title from titles ";

    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    conn=java.sql.DriverManager.getConnection(dbURL,user,password);
    st=conn.createStatement();
    ResultSet rs=st.executeQuery(sql);

    while(rs.next())
    {
    System.out.println("Title_id : "+ rs.getString("title_id"));
    System.out.println("Title : "+ rs.getString("title"));
    }
    st.close();
    conn.close();
    }
    }还是不行,数据库连接没有问题,数据源也经过连接测试
      

  12.   

    你是不是没打sp3的补丁呀,最好把sp3的补丁打一下,我上面就说了,你怎么不听呀
      

  13.   

    当然是SQL Server的sp3补丁了,我也遇到过类似问题
      

  14.   

    打了SP3补丁还是不行
    如果配置数据源,NO suitable driver
    如果不配置:Error establishing socket
      

  15.   

    办法
    1.建议大sql 2000 的sp3 或 sp4 补丁
    2.用jdbc-odbc桥连接数据库,比较简单,只需配置数据源。偶前几天刚配好
    3.多用csdn搜索相关问题,lots of FAQ