找不到适用于jdbc:ucanaccess://C:\ Users \ Asim Iqbal \ Documents \ PersonInfo.accdb的驱动程序 [英] No suitable driver found for jdbc:ucanaccess://C:\Users\Asim Iqbal\Documents\PersonInfo.accdb
问题描述
我必须面对这个错误:
找不到适用于jdbc:ucanaccess://C:\ Users \ Asim的驱动程序 Iqbal \ Documents \ PersonInfo.accdb org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:555)
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,我必须面对这种类型的错误.这些文件如下.
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
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
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..
推荐答案
您必须先将ucanaccess jar添加到类路径并调用Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
,然后再尝试打开连接(一次),以便DriverManager查找驱动程序有关该网址的信息,请参见此处.
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.
这篇关于找不到适用于jdbc:ucanaccess://C:\ Users \ Asim Iqbal \ Documents \ PersonInfo.accdb的驱动程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!