编译时出现这个错误,jdbc的几个驱动都装了,也设在classpath了 请大家帮忙~ 谢谢了~cannot access com.microsoft.jdbc.base.BaseDriverfile com\microsoft\jdbc\base\BaseDriver.class not found
                        DriverManager.registerDriver(new com.microsoft.jdbc.sq
erver.SQLServerDriver());
                        代码如下
package mybean;import java.io.*;
import java.sql.*;
import java.util.*;
/**
*数据库连接池
*/
public class ConnManager {
int minConn=2; //连接池最少连接数
int maxConn=5; //连接池最多连接数
String user="sa"; //数据库用户名
String password=""; //数据库密码
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Demo;SelectMethod=direct"; //数据库连接字符串
String logFile="d:\\dbpool.log"; //日志文件路径
PrintWriter loger=null; //记录log的对象 int connAmount=0; //现有连接的个数
Stack connStack = new Stack(); //使用Stack保存数据库连接private static ConnManager instance;
/**
* 返回惟一实例。如果是第一次调用此方法,则创建该实例
*/
public static synchronized ConnManager getInstance(){
if (instance == null) {
instance = new ConnManager();
}
return instance;
}
/**
*  构造函数实现类的初始化
*  功能:打开log文件,注册驱动程序,根据最小连接数生成连接
*/
private ConnManager()
{
try {
loger = new PrintWriter(new FileWriter(logFile, true), true);
}catch (IOException ioe) {
System.err.println("无法打开日志文件: " + logFile);
loger = new PrintWriter(System.err);
}
//注册驱动程序
try{
DriverManager.registerDriver(new com.microsoft.jdbc.sqlserver.SQLServerDriver());
log("成功注册驱动程序");
}catch(Exception e){
log("无法注册驱动程序");
}
//根据最少连接数生成连接
for(int i=0;i<minConn;i++){
connStack.push(newConnection());
}
}
/**
* 将文本信息写入日志文件
*/
private void log(String msg) {
loger.println(new java.util.Date() + ": " + msg);
}
/**
* 将不再使用的连接返回给连接池
*/
public synchronized void freeConnection(Connection con) {
connStack.push(con);  //将指定连接入栈
notifyAll();  //唤醒正在等待连接的进程
log("归还一个连接到连接池");
} /**
* 从连接池获得一个可用连接。如没有空闲的连接且当前连接数小于最大连接
* 数限制,则创建新连接。
*/
public synchronized Connection getConnection() {
Connection con = null;
log("从连接池申请一个连接");
log("现在可用的连接总数为:"+connStack.size());
if (!connStack.empty()) {
// 获取一个可用连接
con = (Connection)connStack.pop();
}else if (connAmount < maxConn) {
con = newConnection();
}
else{
try{
log("等待连接");
wait(100000);
return getConnection();
}catch(InterruptedException ie){}
}
return con;
} /**
* 创建新的连接
*/
private Connection newConnection() {
Connection con = null;
try {
con = DriverManager.getConnection(url, user, password);
connAmount++;
log("连接池创建一个新的连接");
}catch (SQLException e) {
log("无法创建下列url的连接:" + url);
return null;
}
return con;
}
}                             ^

解决方案 »

  1.   

    cannot access com.microsoft.jdbc.base.BaseDriver file com\microsoft\jdbc\base\BaseDriver.class not found 
                            DriverManager.registerDriver(new com.microsoft.jdbc.sq 
    erver.SQLServerDriver()); 这是没有找到驱动类,
    请问楼主导入相关的驱动jar包了吗?
      

  2.   


    CLASSPATH的设置.;%Java_Home%\lib\tools.jar;
    %Java_Home%\lib\dt.jar;
    .;%tomcat_home\common\lib\msbase.jar;
    %tomcat_home%\common\lib\msutil.jar;
    %tomcat_home%\common\lib\mssqlserver.jar;
    %tomcat_home%\common\lib\servlet-api.jar