本人用jdbc-odbc桥连接sql server正常,代码如下:
import java.sql.*;
public class T 

  public static void main(String[] args) 
  { 
     String sql; 
     Connection conn; 
     Statement stmt; 
     ResultSet rs; 
     try 
     { 
       Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" ); 
       conn = DriverManager.getConnection( "jdbc:odbc:" + "jsgsk", "sa", "abc123" ); 
 
       stmt=conn.createStatement(); 
       sql="select * from t_seledon"; 
       rs=stmt.executeQuery(sql); 
       while(rs.next()) 
       { 
         System.out.println(rs.getString(1)); 
         System.out.println(rs.getString(2)); 
       } 
       rs.close(); 
       stmt.close(); 
       conn.close(); 
     } 
     catch(Exception e) 
     { 
     e.printStackTrace(); 
     } 
  } 

 
    但改用jdbc连接时,javac编译通过,但用java执行时报如下错误,请指导如可解决,谢谢.
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Unknown Source)
        at T.main(t.java:19)    补充:jdbc连接sql server代码如下:
import java.sql.*;
public class T 

  public static void main(String[] args) 
  { 
     String sql; 
     Connection conn; 
     Statement stmt; 
     ResultSet rs; 
     try 
     { 
        Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
        String url = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=jsgsk";
        String user = "sa";
        String password = "abc123";
        conn = DriverManager.getConnection(url, user, password);       stmt=conn.createStatement(); 
       sql="select * from t_seledon"; 
       rs=stmt.executeQuery(sql); 
       while(rs.next()) 
       { 
         System.out.println(rs.getString(1)); 
         System.out.println(rs.getString(2)); 
       } 
       rs.close(); 
       stmt.close(); 
       conn.close(); 
     } 
     catch(Exception e) 
     { 
     e.printStackTrace(); 
     } 
  } 

 

解决方案 »

  1.   

    你是用SQL SERVER2000数据库吧.要升级到SP3以上才能连接的.
      

  2.   

    你的JDBC驱动包没有找到吧,错误提示说没有找到驱动类:com.microsoft.jdbc.sqlserver.SQLServerDriver 
      

  3.   

    没有找到驱动包
    sqlserver2000还是2005?
      

  4.   

    你工程中有没有导入jdbc驱动包 用jdbc连接数据库要在工程中导入驱动程序的
      

  5.   

    错误:没有导入jdbc驱动包
        第一、先查看自己的sql server的版本,是2000还是2005
        第二、从网上下载一个相对应的.jar架包就应该可以了,不行在联系。
      

  6.   

    sql server2000需要打补丁sp3才行,前两天没有打补丁,就是连不上
      

  7.   

    你工程中有没有导入jdbc驱动包 用jdbc连接数据库要在工程中导入驱动程序的
      

  8.   

    谢谢大家。
    我用的是sql server 2000。请问如何导入jdbc驱动包,我只是做了一个java程序,没有工程。
      

  9.   

    把jdbc驱动包Java\jdk1.5.0_02\lib目录下看看,打sp3补丁
      

  10.   

    msbase.jar
    mssqlserver.jar
    msutil.jar
    这三个包没有把
      

  11.   

    eclipse>项目>属性>java构建路径>库>添加外部JAR
    选择驱动程序添加即可
      

  12.   

    连接数据库是3个驱动包没有拷贝到lib文件夹里去.
      

  13.   

    你工程中有没有导入jdbc驱动包 用jdbc连接数据库要在工程中导入驱动程序的
      

  14.   

    第一个连接数据库是很麻烦的,我第一次的时候就搞了好几天才连起来的
    根据你的情况,你说你仅仅是个java程序没有工程,那你是不是没有用集成开发环境啊,比如Eclipse,那搞起来有点麻烦了,好像要在环境变量中改动。推荐你用Eclipse建个工程。
    我将我的解决方法给你(在Eclipse中已经建好工程).
    1.安装sqlserverJDBCsetup,网上百度自己找
    2.安装sql2000sp3或者sp4补丁,首先会出现个解压界面,然后在文件中寻找setup.bat,点击,然后才是真正的安装,解压不是真正的安装。(我一开始的时候就是因为仅仅解压了没有setup.bat重装了好多次,那个傻啊)
    3.请确保sql2000安装的时候是混合安装,且密码为空,否则无法进入
    如果安装sql2000的时候不是混合安装,即使密码不是为空的,可能需要要这样改:
    打开SQL Server企业管理器。
        选择服务器名称上右键选择“编辑SQL Server注册属性”,然后在对话框中选择“使用windows身份验 证”。
        试试一试,不行。在看看安全性设置
        同样右键,选择“属性”,然后打开“安全性”选项卡。
        在选项卡中,选择身份验证为“SQL Server和 Windows ”,其他不变
    4.添加msbase.jar 
    mssqlserver.jar 
    msutil.jar 这几个jar包到工程中。
    没建工程的话或者楼上有人说的把jar包放到Java\jdk1.5.0_02\lib目录下也可能正确
    反正自己多试试,第一次笨手笨脚的,以后就熟练了~~
      

  15.   

    请问如何得到msbase.jar 、mssqlserver.jar 、msutil.jar 这三个jar.
    我从网上下载了setup.exe,执行后也没找到
      

  16.   

    我已将msbase.jar 、mssqlserver.jar 、msutil.jar 放入jdk的lib目录中,还是出现上述错误,请指导
      

  17.   


    你需要把jar文件放在tomcat安装目录下的common/lib下,然后加入到classpath中,如下
    ;%TOMCAT_HOME%\common\lib\msutil.jar;%TOMCAT_HOME%\common\lib\msbase.jar;%TOMCAT_HOME%\common\lib\mssqlserver.jar;
      

  18.   

    把msbase.jar,mssqlserver.jar,msutil.jar添加到工程中
      

  19.   


    这个是正解!
    把这几个JAR文件全部添加至CLASSPATH下就行了!
      

  20.   

    setup执行后到C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib去看看
      

  21.   

    java.lang.ClassNotFoundException 这个异常告诉你没有找到相应的类。设置msbase.jar,mssqlserver.jar,msutil.jar这三个文件的CLASSPATH环境变量。
      

  22.   

    要是sql是2005 系统是xp 就得打个补丁sp3
      

  23.   

    推荐你用集成开发环境建个工程吧,这样好添加jdbc的jar包,你建个java程序的话改起来麻烦,实际项目中也不会这么做。
    建好工程这样做,右键项目名,选择Properties,然后在Libraries下面,点击add external jars,加入msbase.jar,mssqlserver.jar,msutil.jar这3个jar包,自己多练,网上多找吧
      

  24.   

    你应该是大补丁sp3或sp4都可以的,在打完补丁以后找到你安装目下,有一setup.exe文件运行该文件
    在lib文件夹中有那几个压缩包把它们添加到环境变量中就行了
      

  25.   

    学jsp的时候试过可以,明天用java试试!
      

  26.   

                    导入Jar包应该就OK了吧
      

  27.   

    如果是连接SQL Server可以试一下JTDS的...记得把驱动包添加到构建路径里去...
      

  28.   

    首先安装SQL   Server   2000的SP3补丁(下载地址:http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2ksp3.exe),否则你无法使用1433端口连接到数据库,然后安装JDBC驱动包(下载地址:http://download.microsoft.com/download/4/1/d/41d3e9c0-64d1-451e-947b-7a4cba273b2d/setup.exe),安装完成后,要把此驱动包下的lib文件夹下的3个.jar文件一一追加到classpath环境变量。注意,上面的步骤缺一不可