package xwfb;
import java.sql.*;
public class test {
    public static void main(String[] args){
     try{
     Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
     System.out.println("数据库驱动程序注册成功!");
     String url ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=srenp";
     String user = "sa";
     String password = "sa";
     String sql = "select * from news";
     Connection conn = DriverManager.getConnection(url, user, password);
     Statement st = conn.createStatement();
     ResultSet rs = st.executeQuery(sql);
     while(rs.next()){
     String teacher = rs.getString("teacher");
     System.out.println(teacher);
     }
     System.out.println("数据库连接成功");
     }catch(Exception e){
     e.printStackTrace();
     System.out.println("数据库连接失败");
     }
}
}错误报告:
Exception in thread "main" java.lang.NoClassDefFoundError: com/microsoft/util/UtilLocalMessages
at com.microsoft.jdbc.base.BaseExceptions.<init>(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.setupExceptionHandling(Unknown Source)
at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at xwfb.test.main(test.java:12)
数据库驱动程序注册成功!

解决方案 »

  1.   

    此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
    楼主【ren008598】截止到2008-07-22 10:55:57的历史汇总数据(不包括此帖):
    发帖的总数量:0                        发帖的总分数:0                        每贴平均分数:0                        
    回帖的总数量:4                        得分贴总数量:2                        回帖的得分率:50%                      
    结贴的总数量:0                        结贴的总分数:0                        
    无满意结贴数:0                        无满意结贴分:0                        
    未结的帖子数:0                        未结的总分数:0                        
    结贴的百分比:---------------------结分的百分比:---------------------
    无满意结贴率:---------------------无满意结分率:---------------------
    如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
      

  2.   

    我遇到的数据库连接问题,已经导入三个包,并配置了classpath.希望大家讨论解决,本人一定结贴给分.
      

  3.   

    com/microsoft/util/UtilLocalMessages  这个类不存在  
    查一下给类 是在哪个包下面
      

  4.   

    msbase.jar     mssqlserver.jar     msutil.jar   这三个包
    然后看看你的classpath路径配置是否正确.
    现在一般用eclipse,直接导入包就可以了.
      

  5.   

    去下个mysql包里面包含三个jar文件
      

  6.   

    不用配置环境变量 你直接把三个JAR包 拷贝在 jdk/jre/ext/lib这个目录 下面 然后在工程中引入  就可以了
    这里 你的报告错误信息
    Exception in thread "main" java.lang.NoClassDefFoundError: com/microsoft/util/UtilLocalMessages 
    你检查这个包中的内容 是否  正确 路径是
      

  7.   

    缺包,不感ms slq server这个鸟东西哪弄不对一点就出问题,版本,补丁,个人讨厌死了……
      

  8.   

    NoClassDefFoundError
    没有找到com.microsoft.jdbc.sqlserver.SQLServerDriver
    楼上说:ms sql server这个鸟东西哪弄不对一点就出问题,版本,补丁。
    练习的话就用odbc连接mssql,要么就用mssql版本相对应的驱动,现在都出到了SP4,建议升个级再用。
      

  9.   

    缺jdbc与sqlserver联系的三个包:
    msbase.jar、mssqlserver.jar、msutil.jar
    直接复制到tomcat的发布目录WEB-INF/lib目录下,就可以了
      

  10.   

    打个sq4包吧
    这里有解决问题的方法:
    http://topic.csdn.net/u/20080509/15/06363c2c-0650-4e0c-ba14-a2ce69c937c6.html
      

  11.   

    因该是没有装SP4不定的原因。
    链接SQL2000要分为四步:
    1、安装SQL2000,安装时选择windows和密码验证
    2、安装SP4补丁,最好和SQl2000安装在同一目录下
    3、在安装目录下有一个setup.bat,双击运行此批处理文件
    4、安装SQL2000的驱动包
    按以上几步操作,链接SQL2000应该就没有问题了。
      

  12.   

    这句String url ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=srenp"; 应该不用microsoft吧
      

  13.   

    这句String url ="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=srenp"; 应该不用microsoft吧,有也可能你的端口不是1433而是1434吧,哈哈,不访试一下!
      

  14.   

    把sqlserver打补丁,SP3或,sp4试一下,
     在试下,看看
      

  15.   

    我也是,server2000是装好了,可是连接jsp老是报错,唉,真的找不到办法了。
      

  16.   

    SP4的补丁双击后是解压。不是直接安装,解压后在找到文件中的exe进行安装。
    好多人都是双击解压后就认为是完事了....
      

  17.   

    1.检查三个jar包是否正确
    2.sql2000必须是sp3补丁以上才行
      

  18.   


    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//打开驱动器
    Connection con=DriverManager.getConnection("jdbc:odbc:cha");//连接数据库
    Statement stm=con.createStatement();//实例化 Statement 执行语句对象我的是这样连接数据库
      

  19.   

    我之前也遇到这样类似的情况,但解决了
    package com.hetao;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    public class LoginCl extends HttpServlet{
    public void doGet(HttpServletRequest req,HttpServletResponse res){
    Connection ct=null;
    Statement sm=null;
    ResultSet rs=null;
    try{
    String u=req.getParameter("name");
    String p=req.getParameter("password");
     
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

    ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=sqdb","sa","");
    sm=ct.createStatement();
    rs=sm.executeQuery("select top 1 * from users where username='"+u+"'and password='"+p+"'");
    if(rs.next()){

    HttpSession hs=req.getSession(true);
    hs.setAttribute("pass","ok");
    hs.setMaxInactiveInterval(20);

    res.sendRedirect("wel?un="+u+"&up="+p);

    }
    else{
    res.sendRedirect("login");
    }


    }
    catch(Exception e){
    e.printStackTrace();

    }
    finally{
    try{
    if(rs!=null){
    rs.close();
    }
    if(sm!=null){
    sm.close();
    }
    if(ct!=null){
    ct.close();
    }

    }
    catch(Exception ex){
    ex.printStackTrace();
    }
    }
    }


    public void doPost(HttpServletRequest req,HttpServletResponse res){
    this.doGet(req,res);

    }
    }
      

  20.   

    我之前遇到跟你一样的情况
    但解决了
    我是用servlet做的
    package com.hetao;
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    public class LoginCl extends HttpServlet{
    public void doGet(HttpServletRequest req,HttpServletResponse res){
    Connection ct=null;
    Statement sm=null;
    ResultSet rs=null;
    try{
    String u=req.getParameter("name");
    String p=req.getParameter("password");
     
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

    ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=sqdb","sa","");
    sm=ct.createStatement();
    rs=sm.executeQuery("select top 1 * from users where username='"+u+"'and password='"+p+"'");
    if(rs.next()){

    HttpSession hs=req.getSession(true);
    hs.setAttribute("pass","ok");
    hs.setMaxInactiveInterval(20);

    res.sendRedirect("wel?un="+u+"&up="+p);

    }
    else{
    res.sendRedirect("login");
    }


    }
    catch(Exception e){
    e.printStackTrace();

    }
    finally{
    try{
    if(rs!=null){
    rs.close();
    }
    if(sm!=null){
    sm.close();
    }
    if(ct!=null){
    ct.close();
    }

    }
    catch(Exception ex){
    ex.printStackTrace();
    }
    }
    }


    public void doPost(HttpServletRequest req,HttpServletResponse res){
    this.doGet(req,res);

    }
    }
      

  21.   

    你的sql的sp3包升级了没啊?如果升级了的话,把你的那三个jar包放到eclipse的lib目录下就好了吧。具体是jar包的名字忘了,你的错误比较明显的是jar有问题。
      

  22.   

    记住 一定要添加msbase.jar,mssqlserver,jarmsutil.jar 这三个jar包
    package pojo;import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;public class BaseDao { private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433;Databsae=bbsdb";
    private static final String USER = "sa";
    private static final String PWD = "yj000"; public Connection getConnection() { Connection conn = null; try {
    Class.forName(DRIVER);
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } try {
    conn = DriverManager.getConnection(URL, USER, PWD);
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } return conn;
    }
    }
    package pojo;import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;public class Test extends BaseDao { /**
     * @param args
     */ public static void main(String[] args) {
    // TODO Auto-generated method stub
    Test t = new Test(); t.test();
    } public void test() {
    Connection conn = super.getConnection(); String sql = "select * from users"; try {
    PreparedStatement psttm = conn.prepareStatement(sql); ResultSet rs = psttm.executeQuery(); if (rs.next()) {
    System.out.println("成功");
    }
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } }}