尝试将.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旁边的所有不同位置,等等。
答案 0 :(得分:0)
如果数据库文件位于项目的WEB-INF文件夹中,那么您应该可以使用
"jdbc:ucanaccess://" + application.getRealPath("WEB-INF/" + dbName)
作为传递给getConnection
的连接网址。