我正在使用SQLite JDBC访问我的Raspberry Pi vB + ARMv7上的SQL数据库。
该代码会引发NullPointerException
,因为connection = DriverManager.getConnection("jdbc:sqlite:LECT_USERS.db");
会返回null
。
该代码在Windows 10上运行正常。
我尝试过使用Class.forName(..)
,但这对我没什么影响。
请帮我解决这个问题,因为我在使用ARM时遇到了很多麻烦。
修改
我在访问null
对象之前添加了connection
检查。现在代码抛出了这个错误:
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:220)
at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:76)
at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:24)
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:664)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
根据JDBC GitHub的相关问题,可以通过自己编译最新快照,然后将本机库从/ ARM复制到/ Linux / armhf来解决此问题
修改
链接到已编译的JDBC版本3.13.0-SNAPSHOT:https://mega.nz/#!IMsRnZ7I!YOXoRjswPigMHchFi-k-b1czyIGDt5nj5IgnMW7yLT0