小编典典

在Raspberry Pi上打开连接SQLite时出错

java

更新:我只是检查了我使用的最新的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

阅读 385

收藏
2020-11-26

共1个答案

小编典典

您需要下载一个内置的SQLite库。我只找到一个可以得到它的地方:https : //bitbucket.org/xerial/sqlite-
jdbc/issue/79/compile-for-arm

2020-11-26