kygl_login.jsp
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page language="java" import="java.sql.*"errorPage=""%>
<HTML>
<HEAD>
<TITLE>用户登录界面</TITLE>
</HEAD>
<SCRIPT language=javascript>
<!--
        function isValid()
       {
       //以下if判断语句将检查是否输入账号资料
       if(loginform.username.value=="")
       {
           window.alert("您必须完成账号的输入!");
           document.loginform.elements(0).focus();//将光标移至账号输入栏
           return false;
        }
       //以下if判断语句将检查是否输入账号密码
       if(loginform.password.value=="")
       {
           window.alert("您必须完成密码的输入!");
           document.loginform.elements(1).focus();//将光标移至账号输入栏
           return false;
        }
        loginform.submit();
      }
-->
</SCRIPT>
<BODY bgcolor=#ffffee>
<H1><CENTER>用户登录</CENTER></H1>
<%
      String Login_message=(String)session.getAttribute("Login_message");
      if(Login_message==null)
            Login_message="";
      else
      out.println(Login_message);
%>
<CENTER>
<FORM   action="login.jsp" method="post" name="loginform"
        onSubmit="return isValid(this);">
登录名:   <input name="username" type="text"><BR><BR><BR>
&nbsp;密码: <input name="password" type="password" ><BR><BR><BR>
&nbsp;&nbsp;&nbsp;<input name="ok" type="submit" value="确定">
&nbsp;&nbsp;&nbsp;&nbsp;
<input name="cancel" type="reset" value="取消"><BR>
</FORM>
</CENTER>
</BODY>
</HTML>
login.jsp
<%@ page contentType="Text/html;charset=GB2312"%>
<%@ page import="java.sql.*"%>
<%
    String username,password;
    Connection con;
    Statement sql;
    ResultSet rs;    
    try{ Class.forName("com.microsoft.sqlsercer.jdbc.SQLServerDriver");}
    catch(ClassNotFoundException e){
    out.print(e);}
    request.setCharacterEncoding("GB2312");
    username=request.getParameter("username");
    password=request.getParameter("password");
    try{
        String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=KYGL";
        String user="sa";
    con=DriverManager.getConnection(uri,user,"");
        sql=con.createStatement();
        rs=sql.executeQuery("SELECT * FROM YH WHERE ZGH='"+username+"'and MM='"+password+"'");
    
      if(rs.next())
    {
         session.setAttribute("username",username);
         if(rs.getString(6)=="1")
 {        
%>
<SCRIPT Language=javascript>
    window.location="kygl1.jsp"
</SCRIPT>
<%      }
         if(rs.getString(6)=="2")
      {   
%>
<SCRIPT Language=javascript>
    window.location="kygl2.jsp"
</SCRIPT>
<%    }
         if(rs.getString(6)=="3")
         {
%>
<SCRIPT Language=javascript>
    window.location="kygl3.jsp"
</SCRIPT>
<%         }
rs.close();
}
else{
     rs.close();
     String msg="用户名或密码错误";
     session.setAttribute("Login_message",msg);
   %>
<jsp:forward page="kygl_login.jsp"/>
<% } 
con.close();}
catch(SQLException e){
    out.print(e);
    }
%>
在前面连接数据库就出现错误,提交出现
java.lang.ClassNotFoundException: com.microsoft.sqlsercer.jdbc.SQLServerDriverjava.sql.SQLException: No suitable driver found for jdbc:sqlserver://127.0.0.1:1433;DatabaseName=KYGL
2种连接都用过了 数据源和驱动程序能放的也都放了 就是提示 No suitable driver found for jdbc
谁帮我找找原因啊 上网看到的方法都用了 快崩溃了

解决方案 »

  1.   

    com.microsoft.sqlsercer.jdbc.SQLServerDrivercom.microsoft.jdbc.sqlserver.SQLServerDriver你用的好像是2005的驱动类
      

  2.   

    classpath设置的是jdbc驱动程序jar包的位置
    检查一下设置是否正确
      

  3.   

    com.microsoft.jdbc.sqlserver.SQLServerDriver
    这个改了 还是不行 驱动包也有啊,在下面应该没问题吧?
    .;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\bt.jar;%JAVA_HOME%\jre\lib\rt.jar;E:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;E:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;E:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar
      

  4.   

    用rar打开mssqlserver.jar看看路径就知道这样加载的路径是否正确
      

  5.   

    我这些代码都是书上找的  用的都是SQL 2000啊
      

  6.   

    mssqlserver.jar\com\microsoft\jdbc\sqlserver - ZIP 压缩文件,SQLServerDriver就在这里
      

  7.   

    你那个驱动类写错了吧,是sqlserver,而且要注意2000和2005的驱动类是不一样的
      

  8.   

    1) 检查驱动是否是2000,而不是2005的.包括Class.forName(..)这里的类名称以及你提供的驱动jar包,都必须是2000(你说的是sql2000的数据库)2)驱动jar包要放在web程序的WEB-INF/lib下。放在其他地方,就算你设置了classpath,web服务器也不会去那里查找的
      

  9.   

    驱动确实是2000的 我是默认路径安装的 看路径也知道E:\Program Files\Microsoft SQL Server 2000 Driver for JDBC
    驱动包我原先放在COMMON/lib下 ,应该没问题啊 而且我再把它们拷进WEB-INF/lib问题一样
    在这之前我还用过配置数据源连接数据库一样提示No suitable driver
      

  10.   

    类头 你那类 IMPORT 的了么?
      

  11.   

    class.forname(com.microsoft.jdbc.sqlserver.SQLServerDriver);
    String uri="jdbc:microsoft:sqlserver://localhost:1433;DataBaseName=contact";
      

  12.   

    在确保驱动类正确的前提下,主要有两种可能:
    1、为sqlserver2000打上sp3或者sp4补丁;
    2、你的sa用户的密码为空
      

  13.   

    按19楼的做,还是这样
    java.sql.SQLException: No suitable driver found for jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=KYGL
    sqlserver2000的版本是SP4我检测过
    sa的密码我设置为空 ,而且这是数据库没连上的问题,如果这错误那就说明数据库连上了啊 
    我再用配置数据源的方法试试  哎 头痛!
      

  14.   

    com.microsoft.sqlsercer.jdbc.SQLServerDriver中的sqlsercer?是什么是不是写错了
      

  15.   

    我改数据源的方法 ,出现这个错误 
    java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
      

  16.   

    <%@ page contentType="Text/html;charset=GB2312"%>
    <%@ page import="java.sql.*"%>
    <%
        String username,password;
        Connection con;
        Statement sql;
        ResultSet rs;    
        try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}
        catch(ClassNotFoundException e){
        out.print(e);}
        request.setCharacterEncoding("GB2312");
        username=request.getParameter("username");
        password=request.getParameter("password");
        try{
            con=DriverManager.getConnection("jdbc:odbc:KYGL","sa","");
            sql=con.createStatement();
            rs=sql.executeQuery("SELECT * FROM YH WHERE ZGH='"+username+"'and MM='"+password+"'");
        
          if(rs.next())
        {
             session.setAttribute("username",username);
             if(rs.getString(6)=="1")
     {        
    %>
    <SCRIPT Language=javascript>
        window.location="kygl1.jsp"
    </SCRIPT>
    <%      }
             if(rs.getString(6)=="2")
          {   
    %>
    <SCRIPT Language=javascript>
        window.location="kygl2.jsp"
    </SCRIPT>
    <%    }
             if(rs.getString(6)=="3")
             {
    %>
    <SCRIPT Language=javascript>
        window.location="kygl3.jsp"
    </SCRIPT>
    <%         }
    rs.close();
    }
    else{
         rs.close();
         String msg="用户名或密码错误";
         session.setAttribute("Login_message",msg);
       %>
    <jsp:forward page="kygl_login.jsp"/>
    <% } 
    con.close();}
    catch(SQLException e){
        out.print(e);
        }
    %>
      

  17.   


    大家七嘴八舌地也说得差不多了。估计再有问题就是什么地方乱掉了。ODBC连数据库,除开要配好ODBC数据源,也没什么要注意的了。
    上面那个错也就是说数据源没配好。新建个项目重新做一遍吧。
      

  18.   

    书本害人啊 只叫我设置用户DSN 没叫我设置系统DSN 
    我设置了系统DSN 就可以了 虽然还有别的问题 但是总算连上了 我结贴了
      

  19.   


    设置DSN,系统DSN?
    你打算用ms的odbc吗?jdbc是不用那些玩意的.都不知道你是不是在用jdbc。你用的sun的jdbc-odbc桥吧?
      

  20.   

    我改用数据源连接的数据库,不是上面的代码了。上面用JAVA数据库驱动程序连接SQL,我到现在还没想明白我哪错了