我已经把sqljdbc.jar放在Tomcat6.0\\webapps\\111111111\\WEB-INF\\lib下面,但是SqlServer2005时tomcat总是报错:
加载数据库驱动失败!
java.lang.ClassNotFoundException:com.microsoft.jd
atorg.apache.catalina.loader.WebappClassL
der.java:1680)
atorg.apache.catalina.loader.WebappClassL
der.java:1526)
atjava.lang.ClassLoader.loadClassInternal
atjava.lang.Class.forName0(NativeMethod)
。。。
。。。
创建数据库连接失败!
java.sql.SQLException:Nosuitabledriverfoundforjdbc:microsoft:sqlserver://l
ocalhost:1433;DatabaseName=db_shopcar
。。。
我的代码如下:
packagecom.toolsbean;
importjava.sql.Connection;
importjava.sql.DriverManager;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
publicclassDB{
privateConnectioncon;
privatePreparedStatementpstm;
privateStringuser=\"sa\";
privateStringpassword=\"\";
privateStringclassName=\"com.microsoft.jdbc.sqlserver.SQLServerDriver\";
privateStringurl=\"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_shopcar\";
/**构造方法,在该方法中加载数据库驱动*/
publicDB(){
try{
Class.forName(className);
}catch(ClassNotFoundExceptione){
System.out.println(\"加载数据库驱动失败!\");
e.printStackTrace();
}
}
/**创建数据库连接*/
publicConnectiongetCon(){
if(con==null){
try{
con=DriverManager.getConnection(url,user,password);
}catch(SQLExceptione){
System.out.println(\"创建数据库连接失败!\");
con=null;
e.printStackTrace();
}
}
returncon;
}
/**
*@功能:对数据库进行增、删、改、查操作
*@参数:sql为SQL语句;params为Object数组,里面存储的是为sql表示的SQL语句中\"?\"占位符赋值的数据
*/
publicvoiddoPstm(Stringsql,Object[]params){
if(sql!=null
getCon();
if(con!=null){
try{
System.out.println(sql);
pstm=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
for(inti=0;iparams.length;i){
pstm.setObject(i1,params);
}
pstm.execute();
}catch(SQLExceptione){
System.out.println(\"doPstm()方法出错!\");
e.printStackTrace();
}
}
}
}
/**
*@功能:获取调用doPstm()方法执行查询操作后返回的ResultSet结果集
*@返回值:ResultSet
*@throwsSQLException
*/
publicResultSetgetRs()throwsSQLException{
returnpstm.getResultSet();
}
希望给出详细的解决方法。
|