How to connect microsoft access database to jsp tomcat?
我想通过访问数据库在页面上创建一个登录表单。 这是连接代码
1 2 3 4 5 6 | <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %> <% Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Connection con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + application.getRealPath("WEB-INF/travDB.accdb")); Statement st = con.createStatement(1004,1008); %> |
当我尝试登录时,出现错误提示
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | type Exception report message An exception occurred processing JSP page /Advance/Course1/connect.jsp at line 4 description The server encountered an internal error that prevented it from fulfilling this request. exception org.apache.jasper.JasperException: An exception occurred processing JSP page /Advance/Course1/connect.jsp at line 4 1: <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %> 2: <% 3: Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 4: Connection con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" + application.getRealPath("WEB-INF/travDB.accdb")); 5: Statement st = con.createStatement(1004,1008); 6: %> 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:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) root cause javax.servlet.ServletException: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:912) org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:841) org.apache.jsp.Advance.JSP.Project.JSP_005fH2Soal2.JSP_005fH2Soal2_005fT213.doLogin_jsp._jspService(doLogin_jsp.java:119) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) root cause java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source) sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source) sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source) sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source) sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source) java.sql.DriverManager.getConnection(Unknown Source) java.sql.DriverManager.getConnection(Unknown Source) org.apache.jsp.Advance.JSP.Project.JSP_005fH2Soal2.JSP_005fH2Soal2_005fT213.doLogin_jsp._jspService(doLogin_jsp.java:72) org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:728) |
我已经在文件夹Course1内创建了WEB-INF文件夹,而connect.jsp也位于文件夹Course1上。
我该怎么办?
我正在使用Windows 7 Professional 64位和Tomcat版本7.0,JRE 6 64位
您是否正在使用32位MS Access数据库?
您提到您有64位OS和JRE也有64位,但是如果您有32位Access数据库,则会发生上述异常。 看到类似的帖子。
您不能从64位程序直接连接到32位Access ODBC驱动程序。
当Microsoft分发带有Windows(32和64位)的32位ODBC Microsoft Access驱动程序时,它不分发带有Windows 64的64位MsAccess驱动程序。Microsoft提供了64位Access ODBC驱动程序。 下载和安装64位MS Access驱动程序存在一些问题。
参考这个答案
类似帖子
- 发布1
- 发布2
- 不相似,但有帮助