0

データベースにアクセスしてマイページにログインフォームを作りたいです。接続コードはこちら

<%@ 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);
%>

ログインしようとしたらエラーが出た

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 64bit と tomcat バージョン 7.0、jre 6 64bit を使用しています。

4

1 に答える 1

2

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 ドライバーのダウンロードとインストールには、いくつかの問題があります。
この回答を参照してください

類似の投稿

于 2013-10-20T10:50:17.920 に答える