java连接数据库的问题
我已经把sqljdbc.jar放在Tomcat6.0\webapps\111111111\WEB-INF\lib下面,但是SqlServer2005时tomcat总是报错...
我已经把sqljdbc.jar放在Tomcat6.0\webapps\111111111\WEB-INF\lib下面,但是SqlServer2005时tomcat总是报错:
加载数据库驱动失败!
java.lang.ClassNotFoundException: com.microsoft.jd
at org.apache.catalina.loader.WebappClassL
der.java:1680)
at org.apache.catalina.loader.WebappClassL
der.java:1526)
at java.lang.ClassLoader.loadClassInternal
at java.lang.Class.forName0(Native Method)
。。。
。。。
创建数据库连接失败!
java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://l
ocalhost:1433;DatabaseName=db_shopcar
。。。
我的代码如下:
package com.toolsbean;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DB {
private Connection con;
private PreparedStatement pstm;
private String user="sa";
private String password="";
private String className="com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_shopcar";
/** 构造方法,在该方法中加载数据库驱动 */
public DB(){
try{
Class.forName(className);
}catch(ClassNotFoundException e){
System.out.println("加载数据库驱动失败!");
e.printStackTrace();
}
}
/**创建数据库连接*/
public Connection getCon(){
if(con==null){
try {
con=DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
System.out.println("创建数据库连接失败!");
con=null;
e.printStackTrace();
}
}
return con;
}
/**
*@功能:对数据库进行增、删、改、查操作
*@参数:sql为SQL语句;params为Object数组,里面存储的是为sql表示的SQL语句中"?"占位符赋值的数据
*/
public void doPstm(String sql,Object[] params){
if(sql!=null&&!sql.equals("")){
if(params==null)
params=new Object[0];
getCon();
if(con!=null){
try{
System.out.println(sql);
pstm=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
for(int i=0;i<params.length;i++){
pstm.setObject(i+1,params[i]);
}
pstm.execute();
}catch(SQLException e){
System.out.println("doPstm()方法出错!");
e.printStackTrace();
}
}
}
}
/**
* @功能:获取调用doPstm()方法执行查询操作后返回的ResultSet结果集
* @返回值:ResultSet
* @throws SQLException
*/
public ResultSet getRs() throws SQLException{
return pstm.getResultSet();
}
希望给出详细的解决方法。
靠 怎么没有答案的啊 展开
加载数据库驱动失败!
java.lang.ClassNotFoundException: com.microsoft.jd
at org.apache.catalina.loader.WebappClassL
der.java:1680)
at org.apache.catalina.loader.WebappClassL
der.java:1526)
at java.lang.ClassLoader.loadClassInternal
at java.lang.Class.forName0(Native Method)
。。。
。。。
创建数据库连接失败!
java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://l
ocalhost:1433;DatabaseName=db_shopcar
。。。
我的代码如下:
package com.toolsbean;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class DB {
private Connection con;
private PreparedStatement pstm;
private String user="sa";
private String password="";
private String className="com.microsoft.jdbc.sqlserver.SQLServerDriver";
private String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=db_shopcar";
/** 构造方法,在该方法中加载数据库驱动 */
public DB(){
try{
Class.forName(className);
}catch(ClassNotFoundException e){
System.out.println("加载数据库驱动失败!");
e.printStackTrace();
}
}
/**创建数据库连接*/
public Connection getCon(){
if(con==null){
try {
con=DriverManager.getConnection(url,user,password);
} catch (SQLException e) {
System.out.println("创建数据库连接失败!");
con=null;
e.printStackTrace();
}
}
return con;
}
/**
*@功能:对数据库进行增、删、改、查操作
*@参数:sql为SQL语句;params为Object数组,里面存储的是为sql表示的SQL语句中"?"占位符赋值的数据
*/
public void doPstm(String sql,Object[] params){
if(sql!=null&&!sql.equals("")){
if(params==null)
params=new Object[0];
getCon();
if(con!=null){
try{
System.out.println(sql);
pstm=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
for(int i=0;i<params.length;i++){
pstm.setObject(i+1,params[i]);
}
pstm.execute();
}catch(SQLException e){
System.out.println("doPstm()方法出错!");
e.printStackTrace();
}
}
}
}
/**
* @功能:获取调用doPstm()方法执行查询操作后返回的ResultSet结果集
* @返回值:ResultSet
* @throws SQLException
*/
public ResultSet getRs() throws SQLException{
return pstm.getResultSet();
}
希望给出详细的解决方法。
靠 怎么没有答案的啊 展开
6个回答
展开全部
加载驱动出错,class not found就是类没找到,你在报错的console窗口看看,从上到下,最近一个在你的程序中出错的位置在哪里,应该是你在装载驱动的时候失败了,是不是少了jdbc类或者是连接错了数据库
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你的密码空,sa用户的密码怎么可能为空呢private String password="";看到没有,如果你是用的是window身份登录的话,那么你的的DriveManager.getConnextion();这里就只需要传链接地址,不需要传用户名和密码这两个参数。
<font color="red">请检查你的密码</font>
<font color="red">请检查你的密码</font>
追问
密码是sa也不行 我没写上去 抓住主要矛盾啊
追答
你可是用的MyEclipse?
那你把数据库链接jar包添加到工程中去,不要添加到tomcat中。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-05-29
展开全部
String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
用这个。这个是连2005的。你那个是连sql2000的加载驱动和URL路径。
String dbURL = "jdbc:sqlserver://localhost:1433; DatabaseName=sample";
用这个。这个是连2005的。你那个是连sql2000的加载驱动和URL路径。
追问
具体情况解释一下怎么连sql2005 这个代码是别的地方找的 结果不行
追答
好了吗?没好的话把你工程名改一下。用个英文字母打头的。我不知道1111这样的行不行。至于driverName ,还是得用2005这个,你打开sqljdbc.jar,按照drivername的路径找应该有SQLServerDriver这个文件。tomcat再重启一下工程build一下,保证加载的文件都是最新的。URL带不带microsoft的你都试试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
一句话,你的驱动有问题,换一个jar包就好了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=db_shopcar"
这样试试
url="jdbc:sqlserver://localhost:1433;DatabaseName=db_shopcar"
这样试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询