2015-12-27 4 views
1

Я новичок в JSP. Поэтому я хочу создать веб-сайт для входа, но я придерживался исключения sql. Annyone знает, как это решить? Вся используемая мной программа 32bit, и я уже добавляю Ms Access Database в свои пользовательские источники данных.JSP - Microsoft ODBC - Microsoft Access Driver Не удалось найти файл '(неизвестно)'

здесь информация об ошибке:

5: <% 
6: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
7: Connection con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+application.getRealPath("WEB-INF/db.accdb")); 
8: Statement st = con.createStatement(1004,1008); 
9: 
10: %> 

StackTrace:

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
root cause 

javax.servlet.ServletException: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Could not find file '(unknown)'. 
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916) 
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845) 
    org.apache.jsp.khema.doLogin_jsp._jspService(doLogin_jsp.java:145) 
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
root cause 

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Could not find file '(unknown)'. 
    sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957) 
    sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114) 
    sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(JdbcOdbc.java:3073) 
    sun.jdbc.odbc.JdbcOdbcConnection.initialize(JdbcOdbcConnection.java:323) 
    sun.jdbc.odbc.JdbcOdbcDriver.connect(JdbcOdbcDriver.java:174) 
    java.sql.DriverManager.getConnection(DriverManager.java:582) 
    java.sql.DriverManager.getConnection(DriverManager.java:207) 
    org.apache.jsp.khema.doLogin_jsp._jspService(doLogin_jsp.java:72) 
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 
+0

Возможно, ваш скриптлет выплюнул значение 'application.getRealPath (« WEB-INF/db.accdb »)' и посмотрел, действительно ли файл базы данных существует. (Это не так.) Также вы можете проверить ответ [здесь] (http://stackoverflow.com/a/3180202/2144390). –

ответ

0

Для начала убедитесь, что вы указали правильный путь к файлу БД после того, как вы сделаете это сделать следующие шаги , из панели управления найдите Административные средства, затем выполните поиск источников данных (ODBC) после этого. Добавить Microsoft Access Drivers(*mdb,*accdb).