为什么SQLite不能在NetBeans上运行 IDE与Linux上的java集成



首先,我的操作系统是Ubuntu 14.04,我使用NetBeans IDE 8.0.1进行Java编程。我想构建一个简单的应用程序来访问数据库文件,因为我需要一个无服务器驱动程序,所以我下载了sqlite-JDBC-3.8.7.jar并将其作为新库添加到项目中的库文件夹中。之后,我得到一个简单的代码来测试驱动程序,即:

 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。PLZ救命!!并提前感谢。

显然,

最新的SQLite-JDBC库存在一些兼容性问题,无法很好地与Linux一起使用。旧版本似乎没有这个问题。

删除了其他 SQLite-JDBC 库,并仅包含此 URL 中名为"sqlite-jdbc-3.7.15-SNAPSHOT.jar"的最旧的

最新更新