2015-07-31 2 views
0

Я должен решать эту ошибку:Нет подходящий драйвер найден для JDBC: ucanaccess: // C: Users Асим Икбал Documents PersonInfo.accdb

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

в моем проекте JSP. Но когда я запускаю PersonDAO.java отдельно, он работает правильно. Но, используя Bean, мне приходится сталкиваться с этим типом ошибок. Эти файлы следуют.

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> 

Пожалуйста, скажите мне, где я делаю неправильно ..

ответ

4

Вы должны в dd ucanaccess jar к пути к классам и вызовите Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");, прежде чем пытаться открыть соединение (достаточно одного раза) для DriverManager, чтобы найти драйвер с этим URL-адресом, см. here.

+0

Я добавляю файл jar в путь класса, также он работает правильно индивидуально и дает результат. Но когда я использую этот файл как java Bean, тогда дайте эту ошибку. Florian Schaetz –

+0

В этом случае отсутствует регистрация класса драйвера. Перед первым использованием вам нужно выполнить инициализацию. – Konrad

Смежные вопросы