No suitable driver found for jdbc:ucanaccess://C:\Users\Asim Iqbal\Documents\PersonInfo.accdb

13,949

You must add the ucanaccess jar to the classpath and call Class.forName("net.ucanaccess.jdbc.UcanaccessDriver"); before you try to open the connection (once is enough) for the DriverManager to find the driver with that url, see here.

Share:
13,949
Faisal_mthe
Author by

Faisal_mthe

I am fresh Java developer and undergraduate student and love to develop J2EE applications. I am enthusiastic to help and sort out real life programming challenges and gain experience at stackoverflow.

Updated on June 05, 2022

Comments

  • Faisal_mthe
    Faisal_mthe almost 2 years

    I have to face this error:

    No suitable driver found for jdbc:ucanaccess://C:\Users\Asim Iqbal\Documents\PersonInfo.accdb org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:555)

    in my JSP project. But when I run PersonDAO.java separately, it works properly. But, by using Bean I have to face this type of error. These files are as followed.

    PersonDAO.java

    import java.util.*;
    
    import java.sql.*;
    
    import java.io.*;
    public class PersonDAO implements Serializable  {
    private PreparedStatement stmt;
    
    public ArrayList pList;
    String url="jdbc:ucanaccess://C:\\Users\\Asim Iqbal\\Documents\\PersonInfo.accdb";
    
    Connection   conn = DriverManager.getConnection(url);
    
    public PersonDAO() throws SQLException{
    
        establishConnection();
    }
    private void establishConnection() throws SQLException
    {
        String url1="jdbc:ucanaccess://C:\\Users\\Asim Iqbal\\Documents\\PersonInfo.accdb";
        conn = DriverManager.getConnection(url1);
    }
    
    public ArrayList getPerson(String name) throws SQLException { 
        PersonInfo pInfo=new PersonInfo();
    
        pList=new ArrayList();
    
        String sql="SELECT * FROM Person WHERE name=?";
    
        stmt=conn.prepareStatement(sql);
    
        stmt.setString(1,name);
    
        ResultSet rs=stmt.executeQuery();
         String add,n;
    
         String p;
    
        while(rs.next()){
    
            n=rs.getString("Name");
            add=rs.getString("Address");
    
            p=rs.getString("PhoneNumber");
    
            pInfo.setName(n);
    
            pInfo.setAddress(add);
    
            pInfo.setpNumber(p);
    
            pList.add(pInfo);
        }
        return pList;
    
        }
     }
    

    saveperson.jsp

    </head>
        <jsp:useBean id="pDAO" class="Person.PersonDAO" scope = "request" /> 
    
        <jsp:useBean id="personBean" class="Person.PersonInfo" scope="request"/> 
    
        <jsp:setProperty name="personBean" property="name" param="name"/>
    
        <jsp:setProperty name="personBean" property="address" param="address"/>
    
        <jsp:setProperty name="personBean" property="pNumber" param="pNumber"/>
        <%
         pDAO.setPerson(personBean);
        %>
        <center>
    
        <h1>You have successfully add the record!</h1>
        <h4>  
              <a href="index.html" > Add another Person Record </a> <br>
              <br><br>
              <a href="searchperson.jsp" > Search Person </a>    
          </h4> 
        </center>
    

    Please tell me where I am doing wrong..

  • Faisal_mthe
    Faisal_mthe almost 9 years
    I add the jar file in the class path, also it works properly individually and give the requires result. But when I use this file as java Bean then give this error.. Florian Schaetz
  • Konrad
    Konrad almost 9 years
    The driver class registration is missing in this case. You need to do the initialization sometime before first use.