无法连接到sqlite数据库 - _syscall()中的内部错误

时间:2016-07-11 17:11:47

标签: java sqlite gwt web-applications

我正在使用Eclipse Neon,GWT和sqlite编写Web应用程序。我在某个点上的webapp连接到位于war目录中的数据库(我知道该应用程序只能访问该目录,服务器端)。当我尝试创建连接时:

Class.forName("org.sqlite.JDBC");
return DriverManager.getConnection("jdbc:sqlite:db.db");

控制台中出现以下异常:

java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\c:\Users\me\workspace\BookLovers\war\db.db" "read")
[...]
GRAVE: javax.servlet.ServletContext log: Exception while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract boolean it.me.gc.booklovers.client.LoginService.login(java.lang.String,int) throws java.lang.IllegalArgumentException' threw an unexpected exception: java.lang.Error: Internal Error in _syscall()
[...]
Caused by: java.lang.Error: Internal Error in _syscall()

这是我第一次收到这样的错误,互联网似乎没有注意到这个问题。我无法解释自己的一件事就是为什么" C:/"在db路径中重复两次;而且,我会理解这个例外只是一个"访问被拒绝"一,但我认为我做得对(我也试图在WEB-INF文件夹中移动数据库,但无济于事。)

你怎么看?

1 个答案:

答案 0 :(得分:0)

事实证明,问题似乎是由旧版本的.jar连接器引起的。使用更新的连接器解决了这个问题。谢谢,Apostolos。