首先,我的操作系统是Ubuntu14.04,我使用NetBeans IDE8.0.1进行java编程。我想构建一个简单的应用程序来访问数据库文件,因为我需要一个无服务器驱动程序,所以我下载了sqlit-JDBC-3.8.7.jar,并将它作为一个新库添加到我的项目中的Library文件夹中。之后,我得到一个简单的代码来测试驱动程序,即:
import java.sql.*;
public class test
{
public static void main( String args[] )
{
Connection c = null;
try {
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:test.db");
} catch ( Exception e ) {
System.err.println( e.getClass().getName() + ": " + e.getMessage() );
System.exit(0);
}
System.out.println("Opened database successfully");
}
}它必须创建一个名为test.db的新数据库,并打印“成功打开的数据库”,但出现了一个错误,异常消息如下:
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 foodchooser.test.main(test.java:13)
Java Result: 1 问题不仅在这个测试代码中,而且在我使用的任何地方:
Class.forName("org.sqlite.JDBC");
c = DriverManager.getConnection("jdbc:sqlite:--WhateverPath--");换句话说,我不能使用sqlite。救命啊!!提前谢谢。
发布于 2014-12-26 08:02:04
显然,最新的SQLite-JDBC库存在一些兼容性问题,不能很好地使用Linux。旧版本似乎没有这个问题。
删除了其他SQLite-JDBC库,并从这 url中只包含了最古老的名为“sqlite 3.7.15-SNAPSHOT.jar”的库
https://stackoverflow.com/questions/27654255
复制相似问题