Java 无法连接到sqlite数据库-在_syscall()中出现内部错误

Java 无法连接到sqlite数据库-在_syscall()中出现内部错误,java,sqlite,gwt,web-applications,Java,Sqlite,Gwt,Web Applications,我正在使用EclipseNeon、GWT和sqlite编写一个web应用程序。我的webapp在某一点连接到war目录中的数据库(我知道该应用程序只能访问该目录,即服务器端)。当我尝试创建连接时: Class.forName("org.sqlite.JDBC"); return DriverManager.getConnection("jdbc:sqlite:db.db"); 控制台中出现以下异常: java.security.AccessControlException: access de

我正在使用EclipseNeon、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文件夹中移动数据库,但没有成功)


您对此有何看法?

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

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

如果你把
\db.db
放进去怎么办?结果如何?谢谢你,阿波斯托洛斯。我是在Windows上运行的,所以不确定该语法。但是,我更改了字符串(引用“\\db.db”),结果是一样的。路径字符串与前面相同:
“C:\C:\Users\me\workspace\bookleers\war\db.db”“read”
确定2件事:您使用的是哪个xerial jdbc版本?尝试直接使用完整路径,看看会发生什么。老实说,我从来没有遇到过这样的问题。我使用的是3.7.2,来自。将更改为绝对路径,让我们看看有什么更改。并且,没有更改。即使使用了双C:\connection字符串:
jdbc:sqlite:C:\\users\\me\\workspace\\bookoveries\\war\\db.db
如果您将?结果如何?谢谢你,阿波斯托洛斯。我是在Windows上运行的,所以不确定该语法。但是,我更改了字符串(引用“\\db.db”),结果是一样的。路径字符串与前面相同:
“C:\C:\Users\me\workspace\bookleers\war\db.db”“read”
确定2件事:您使用的是哪个xerial jdbc版本?尝试直接使用完整路径,看看会发生什么。老实说,我从来没有遇到过这样的问题。我使用的是3.7.2,来自。将更改为绝对路径,让我们看看有什么更改。并且,没有更改。即使使用双C:\connection string:
jdbc:sqlite:C:\\users\\me\\workspace\\bookoveries\\war\\db.db,路径仍然相同