java连接数据库的问题

[复制链接]
查看11 | 回复5 | 2011-6-17 06:31:33 | 显示全部楼层 |阅读模式
我已经把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();               
        }
希望给出详细的解决方法。
回复

使用道具 举报

千问 | 2011-6-17 06:31:33 | 显示全部楼层
你的密码空,sa用户的密码怎么可能为空呢privateStringpassword=\"\";看到没有,如果你是用的是window身份登录的话,那么你的的DriveManager.getConnextion();这里就只需要传链接地址,不需要传用户名和密码这两个参数。
fontcolor=\"red\"请检查你的密码/font









<h4class=\"ask\">追问


密码是sa也不行我没写上去抓住主要矛盾啊
回复

使用道具 举报

千问 | 2011-6-17 06:31:33 | 显示全部楼层
你可是用的MyEclipse?
那你把数据库链接jar包添加到工程中去,不要添加到tomcat中。
回复

使用道具 举报

千问 | 2011-6-17 06:31:33 | 显示全部楼层
密码又没关系的
回复

使用道具 举报

千问 | 2011-6-17 06:31:33 | 显示全部楼层
具体情况解释一下怎么连sql2005这个代码是别的地方找的结果不行
回复

使用道具 举报

千问 | 2011-6-17 06:31:33 | 显示全部楼层
好了吗?没好的话把你工程名改一下。用个英文字母打头的。我不知道1111这样的行不行。至于driverName,还是得用2005这个,你打开sqljdbc.jar,按照drivername的路径找应该有SQLServerDriver这个文件。tomcat再重启一下工程build一下,保证加载的文件都是最新的。URL带不带microsoft的你都试试。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行