连接到 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。
正在尝试将 .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。