在csdn上下载了jar包,解压后有4个jar文件,分别是:jtds-1.2.jar,log4j-1.2.6.jar,mssqlserver2.jar,sqljdbc.jar,我已将它导入了项目的WEB-INF\lib 目录下,我编辑了连接代码,代码如下:package s2jsp.sg.ch03;
import java.sql.*;
public class ConnectionManager {
        private static final String DRIVER_CLASS="com.microsoft.jdbc.sqlserver.SQLServerDriver";
        private static final String DATABASE_URL="jdbc:microsoft:sqlserver://localhost:8080;DatabaseName=news";
        private static final String DATABASE_USER="sa";
        private static final String DATABASE_PASSWORD="sa";
        
        public static Connection getConnection(){
                Connection dbConnection=null;
                try{
                        Class.forName(DRIVER_CLASS);
                        dbConnection=DriverManager.getConnection(DATABASE_URL,DATABASE_USER,DATABASE_PASSWORD);
                }catch(Exception e){
                        e.printStackTrace();
                }
                return dbConnection;
        }
        public static void closeConnection(Connection dbConnection){
                try{
                        if((dbConnection !=null) && (!dbConnection.isClosed())){
                                dbConnection.close();
                        }
                }catch(SQLException sqlEx){
                        sqlEx.printStackTrace();
                }
        }
        public static void closeResultSet(ResultSet res){
                try{
                        if(res!=null){
                                res.close();
                                res=null;
                        }
                }catch(SQLException e){
                        e.printStackTrace();
                }
        }
        public static void closeStatement(PreparedStatement pStatement){
                try{
                        if(pStatement!=null){
                                pStatement.close();
                                pStatement=null;
                        }
                }catch(SQLException e){
                        e.printStackTrace();
                }
        }
}
最后测试了一下,它总是提示:
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:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:169)
        at s2jsp.sg.ch03.ConnectionManager.getConnection(ConnectionManager.java:12)
        at s2jsp.sg.ch03.NewsFirstTitleDB2.main(NewsFirstTitleDB2.java:16)
Exception in thread "main" java.lang.NullPointerException
        at s2jsp.sg.ch03.NewsFirstTitleDB2.main(NewsFirstTitleDB2.java:18)
请教大虾们,是不是我jar包下错了,还是我的代码写错了,先谢谢了.

解决方案 »

  1.   

    你是连接哪个数据库呢?
    sqlserver2000?
    com.microsoft.jdbc.sqlserver.SQLServerDriver 
    找不到jar包啊java.lang.NullPointerException 
    这里还报空指针异常呢
      

  2.   

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;public class DBCon {
    public static String driver="oracle.jdbc.driver.OracleDriver";
    public static String url="jdbc:oracle:thin:@192.168.0.174:1521:ORCL";
    public static String user="scott";
    public static String pwd="tiger";

    public static Connection getConnection(){
    try {
    Class.forName(driver);
    Connection con=DriverManager.getConnection(url, user, pwd);
    System.out.println("con success");
    return con;
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return null;
    }

    public static void close(Connection con,Statement stm,ResultSet rs){
    if(con!=null){
    try {
    con.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    if(stm!=null){
    try {
    stm.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    if(rs!=null){
    try {
    rs.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }

    public static void main(String[] args) {
    DBCon.getConnection();
    }
    }
    给你个例子  这是连oracle的  
    driver 账号密码 url改成你自己的数据库对应的版本
      

  3.   

    是连sqlserver2005。不知道是不是jar包有问题,其余的我也不知道了呀
      

  4.   

    最好去官方网站下载驱动去,别人提供的谁知道是不是骗你的资源分的,o(∩_∩)o...哈哈。
    还有
    DATABASE_URL="jdbc:microsoft:sqlserver://localhost:8080;DatabaseName=news"; 
    这个地方的连接端口是8080?你确认不是默认的1433吗?
      

  5.   

    sqlservler好像要打开tcp/ip协议的吧。。他报错是说类没有找到,可能是加包的问题。。
    我这个数据库没学过,所以帮不上什么忙
      

  6.   

    各位高手,jar文件到底是那几个呀,我真的有点抓狂了
      

  7.   

    sqlserver2005的驱动是 com.microsoft.sqlserver.jdbc.SQLServerDriver 吧  
      

  8.   

    class not found是你XML配置问题吧