连接到 Tomcat 上的 Access 数据库

Connecting to an Access database on Tomcat

正在尝试将 .mdb 文件放在 tomcat 上并访问它。 它在本地工作,但在尝试将其部署到本地 tomcat 服务器后抛出异常。 这是引发错误的行:

  Connection dbConnection = DriverManager.getConnection("jdbc:ucanaccess://" +     dbName);

我应该设置 DNS 吗?如果是这样,我该如何为 tomcat 服务器做到这一点?

谢谢!

编辑: 异常:

SEVERE: Servlet.service() for servlet [spring-mvc] in context with path         [/project] threw exception [Request processing failed; nested exception is     net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.5 given file does not exist: NZDB1.mdb] with root cause
java.io.FileNotFoundException: given file does not exist: NZDB1.mdb
at com.healthmarketscience.jackcess.impl.DatabaseImpl.open(DatabaseImpl.java:365)
at com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:252)
at net.ucanaccess.jdbc.DefaultJackcessOpener.open(DefaultJackcessOpener.java:35)
at net.ucanaccess.jdbc.DBReference.<init>(DBReference.java:160)
at net.ucanaccess.jdbc.DBReferenceSingleton.loadReference(DBReferenceSingleton.java:51)
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:99)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at DAL.DbHandler.<init>(DbHandler.java:22)

试图将文件放在各种不同的位置,在 WEB-INF 旁边,在里面等。

如果数据库文件在项目的 WEB-INF 文件夹中,那么您应该可以使用

"jdbc:ucanaccess://" + application.getRealPath("WEB-INF/" + dbName)

作为您传递给 getConnection 的连接 URL。