找不到适合 jdbc:ucanaccess://C:\Users\Asim Iqbal\Documents\PersonInfo.accdb 的驱动程序
Posted
技术标签:
【中文标题】找不到适合 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 的驱动程序 【发布时间】:2015-10-22 21:06:31 【问题描述】:我必须面对这个错误:
没有找到适合 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>
请告诉我哪里做错了..
【问题讨论】:
【参考方案1】:您必须将 ucanaccess jar 添加到类路径并调用 Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
,然后才能尝试打开连接(一次就足够了),以便 DriverManager 找到具有该 url 的驱动程序,请参阅 here。
【讨论】:
我将 jar 文件添加到类路径中,它也可以单独正常工作并给出所需的结果。但是当我使用这个文件作为java Bean然后给出这个错误.. Florian Schaetz 这种情况下缺少驱动类注册。您需要在首次使用前的某个时间进行初始化。以上是关于找不到适合 jdbc:ucanaccess://C:\Users\Asim Iqbal\Documents\PersonInfo.accdb 的驱动程序的主要内容,如果未能解决你的问题,请参考以下文章
这是啥错误? “无法添加数据连接。找不到任何适合指定文化或中性文化的资源。”
找不到适合'jdbc:mysql:// localhost:3306 / mysql的驱动程序[重复]