Java 连接到Tomcat上的Access数据库
正在尝试将.mdb文件放在tomcat上并访问它。 它在本地工作,但在尝试将其部署到本地tomcat服务器之后,它抛出了一个异常。 这是引发错误的行:Java 连接到Tomcat上的Access数据库,java,tomcat,ucanaccess,Java,Tomcat,Ucanaccess,正在尝试将.mdb文件放在tomcat上并访问它。 它在本地工作,但在尝试将其部署到本地tomcat服务器之后,它抛出了一个异常。 这是引发错误的行: Connection dbConnection = DriverManager.getConnection("jdbc:ucanaccess://" + dbName); 我应该设置DNS吗?如果是这样的话,我如何为tomcat服务器做到这一点 谢谢 编辑: 例外情况: SEVERE: Servlet.service() for s
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)
路径为[/project]的上下文中Servlet[spring mvc]的Servlet.service()引发异常[请求处理失败;嵌套异常为net.ucanaccess.jdbc.UcanaccessSQLException:ucaesc:::3.0.5给定文件不存在:NZDB1.mdb],根本原因是
java.io.FileNotFoundException:给定文件不存在:NZDB1.mdb
位于com.healthmarketscience.jackcess.impl.DatabaseImpl.open(DatabaseImpl.java:365)
位于com.healthmarketscience.jackcess.DatabaseBuilder.open(DatabaseBuilder.java:252)
位于net.ucanaccess.jdbc.DefaultJackcessOpener.open(DefaultJackcessOpener.java:35)
位于net.ucanaccess.jdbc.DBReference。(DBReference.java:160)
位于net.ucanaccess.jdbc.DBReferenceSingleton.loadReference(DBReferenceSingleton.java:51)
位于net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:99)
位于java.sql.DriverManager.getConnection(DriverManager.java:664)
位于java.sql.DriverManager.getConnection(DriverManager.java:270)
在DAL.DbHandler.(DbHandler.java:22)
试图将文件放在各种不同的位置,在WEB-INF旁边,在其内部等等。如果数据库文件位于项目的WEB-INF文件夹中,那么您应该能够使用
“jdbc:ucanaccess://”+application.getRealPath(“WEB-INF/”+dbName)
作为传递给
getConnection
的连接URL,您认为为什么需要DNS?什么错误?你犯了什么错误?!添加了错误,文件不存在您应该在jdbc url中使用mdb绝对路径(或相对于工作目录)