我在 VirtualBox 中运行 Xubuntu。我安装了 sqlite3,由于某种原因,它不再捆绑。我将 sqlite-jdbc-3.8.7.jar 添加到我的构建路径中,并运行这个简单的代码来测试它。
import java.sql.*;
public class JDBC_test {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("org.sqlite.JDBC");
Connection connection = DriverManager.getConnection("jdbc:sqlite:test.db");
connection.close();
}
}
我收到此错误:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open(Ljava/lang/String;I)V
at org.sqlite.core.NativeDB._open(Native Method)
at org.sqlite.core.DB.open(DB.java:161)
at org.sqlite.core.CoreConnection.open(CoreConnection.java:145)
at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:66)
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:21)
at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:23)
at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45)
at org.sqlite.JDBC.createConnection(JDBC.java:114)
at org.sqlite.JDBC.connect(JDBC.java:88)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:233)
at JDBC_test.main(JDBC_test.java:7)
当我尝试通过用文件的完整路径替换“test.db”来连接到现有数据库时,出现相同的错误。有什么想法吗?
xerial 的驱动程序版本 3.8.7 存在错误错误跟踪器 https://bitbucket.org/xerial/sqlite-jdbc/issue/152/387-version-linux-issue。快速(有效)的解决方案是使用驱动程序版本 3.8.6,直到该错误得到修复。
更新:该错误自版本 3.8.10.2 起已修复(请参阅新的错误跟踪器Github https://github.com/xerial/sqlite-jdbc/issues/34),我确认它现在可以工作了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)