gpt4 book ai didi

java - 在树莓派上使用带有 Java 的 sqlite

转载 作者:搜寻专家 更新时间:2023-11-01 03:21:56 24 4
gpt4 key购买 nike

我已经在 java 中创建了 sqlite 数据库的小代码。

下面是连接数据库的代码,

Class.forName("org.sqlite.JDBC");

objConnection=DriverManager.getConnection("jdbc:sqlite:/etc/javaData/Test.db");

在这段代码中,异常在 getConnection() 的第二行抛出。我正在 Raspberry pi 上尝试这段代码。如何修复与此相关的异常

异常

SQLITE addDeviceInfo()-[SQLITE] SQL Exception occured. RetryCount:1 (MAX Retry: 2) ErrorCode: 27154 Exception Message: Error opening connection Stack Trace: java.sql.SQLException: Error opening connection
at org.sqlite.core.CoreConnection.open(CoreConnection.java:140)
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:215)
at kmbt.DCA.SQLite.DCASQLiteUtility.getSQliteConnection(DCASQLiteUtility.java:152)
at kmbt.DCA.SQLite.ManagedDeviceSetting.SQLite_ManagedDeviceSettingManager.addDeviceInfo(SQLite_ManagedDeviceSettingManager.java:981)
at kmbt.DCA.DCAChildProcessMng.InitManagedDeviceInfo(DCAChildProcessMng.java:5726)
at kmbt.DCA.DCAChildProcessMng.InitSQLite(DCAChildProcessMng.java:4387)
at kmbt.DCA.DCAChildProcessMng.start(DCAChildProcessMng.java:365)
at kmbt.DCA.DCAChildProcess.main(DCAChildProcess.java:23)
Caused by: java.lang.Exception: Error loading native library: /org/sqlite/native/Linux/arm/libsqlitejdbc.so
at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:243) at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:65)
at org.sqlite.core.NativeDB.load(NativeDB.java:53)
at org.sqlite.core.CoreConnection.open(CoreConnection.java:136)
... 14 more

最佳答案

您的代码似乎是正确的,抛出的异常似乎与某些库的问题无关。唯一让我觉得有点奇怪的是,您将数据库放在/etc 文件夹中。首先它不是很正确,因为/etc 文件夹用于存储配置文件而不是数据。除此之外,r/w 文件夹的权限可能存在某种问题。尝试将您的数据库移动到您的主目录或您的用户拥有的其他任何目录,而不是从根目录。

希望这对你有用。

-- 编辑 --

好的,问题是你下载错了库:

Error loading native library: /org/sqlite/native/Linux/arm/libsqlitejdbc.so

您必须使用 ARM 版本的 sqlite 库。试着看看这个: Error opening connection SQLite on Raspberry pi还有这个:Sqlite4java on Raspberry Pi

关于java - 在树莓派上使用带有 Java 的 sqlite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28189063/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com