更新:我刚刚检查了我使用的最新 JDBC jar,它缺少映射/Linux/arm/libsqlitejdbc.so,通过从某处下载此文件可以解决此问题吗?到处都找不到。
编辑:问题似乎是这样的,但我不知道如何解决这个问题。
Caused by: java.lang.Exception: Error loading native library: /org/sqlite/native/Linux/arm/libsqlitejdbc.so
我正在尝试在我的树莓派上使用 SQLite 数据库。但是我无法让它工作。我得到下面发布的输出。我正在使用 JDBC 驱动程序。该代码在我的主计算机上运行良好。我到处搜索但找不到解决方案。如果重要的话,我将代码打包到 Jar 文件中。
相关代码:
private final String dbLocation = "jdbc:sqlite:" + System.getProperty("user.home") + "/ServerSQLite.db";
public SQLServer() throws ClassNotFoundException {
System.out.println("DB location: " + dbLocation);
Connection connection = null;
Class.forName("org.sqlite.JDBC");
try {
// create a database connection
connection = DriverManager.getConnection(dbLocation);
输出:
DB location: jdbc:sqlite:/usr/share/tomcat7/ServerSQLite.db
Error opening connection
编辑:硬编码位置存在同样的问题,应该具有读写权限:
jdbc:sqlite:/home/pi/ServerSQLite.db
Error opening connection
感谢我能得到的任何帮助:)
编辑2:我以为我打印了堆栈跟踪,但它不是在这里:
java.sql.SQLException: Error opening connection
...Lots of exception
Caused by: java.lang.Exception: Error loading native library: /org/sqlite/native/Linux/arm/libsqlitejdbc.so
at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:241)
...
at org.sqlite.SQLiteConnection.open(SQLiteConnection.java:175)
... 29 more
Error opening connection
问题似乎是由以下原因引起的:
java.lang.Exception: Error loading native library: /org/sqlite/native/Linux/arm/libsqlitejdbc.so
最佳答案
您需要下载 SQLite 库的 Arm 版本。 我发现只有一个地方可以得到它:https://bitbucket.org/xerial/sqlite-jdbc/issue/79/compile-for-arm
关于java - 在 Raspberry pi 上打开连接 SQLite 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23665796/