没有为jdbc.sqlite找到合适的驱动程序,更复杂

时间:2017-11-11 11:50:30

标签: java sqlite jdbc

我正在编写一个使用java和SQLite连接数据库的程序。我尝试过任何我遇到过但似乎没有任何帮助的事情。 代码如下所示:

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import org.sqlite.JDBC;

    /**
     *
     * @author sqlitetutorial.net
     */

    @SuppressWarnings("unused")
    public class SQLiteJDBCDriverConnection {
         /**
         * Connect to a sample database
         */
        public static void connect() {
            Connection conn = null;
            try {
                // db parameters
                String url = "jdbc:sqlite:C:\\Users\\marks\\Desktop\\sqlite-tools-win32-x86-3180000\\SQLiteStudio\\chinook.db";
                // create a connection to the database
                conn = DriverManager.getConnection(url);

                System.out.println("Connection to SQLite has been established.");

            } catch (SQLException e) {
                System.out.println(e.getMessage());
            } finally {
                try {
                    if (conn != null) {
                        conn.close();
                    }
                } catch (SQLException ex) {
                    System.out.println(ex.getMessage());
                }
            }
        }
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) {
            try {
                Class.forName("org.sqlite.JDBC");
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            connect();
        }
    }

我得到的错误是:

    org.sqlite.JDBC
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at SQLiteJDBCDriverConnection.main(SQLiteJDBCDriverConnection.java:42)

The picture showing the driver

我已按照http://www.sqlitetutorial.net/sqlite-java/sqlite-jdbc-driver/中的确切步骤操作,但这对我不起作用!

我在Widows 10 64位上使用Eclipse Java Neon(最新版)。

1 个答案:

答案 0 :(得分:-2)

<强> EDITED

正如您的教程所示,您只需要在main void上调用connect()方法。

public static void main(String[] args) {
        connect();
}

您正在尝试检索课程Class.forName("org.sqlite.JDBC");而您之后没有使用它。