使用Java JDBC进行挣扎:使用Intellij进行sqlite连接[复制]

问题描述 投票:1回答:1

这个问题在这里已有答案:

我的完整项目是在Github.com/DSkilton上

我已经尝试了几种方法来实现这一点,我已经读过类路径,使用Class.forName()而不是使用它,Xerials JDBC instructions建议使用/而不是转义\为路径String。我已经阅读了一些关于如何设置的Oracles建议,Stackoverflow和SQlites tutorial。我真的试图研究这个,但我仍然空白!

在我的src文件夹中有以下文件夹:controller,images,lib,model,sample和view。

在controller文件夹中是databaseConnect.java,在lib文件夹中是jdbc-api-1.4.jar。

在我的databaseConnect文件中,我有以下内容:

public static void Connection() {

    final String connectionUrl = "jdbc:sqlite:D:\\Users\\IdeaProject\\modus\\src\\model\\modus.db";

    try {
        Connection con = DriverManager.getConnection(connectionUrl);
        System.out.println("Connected");
        //while(returnStatement.next()) {
        //System.out.println("rs.getString");
        //}

        } catch (SQLException e) {
        e.printStackTrace();
}

我得到的错误是:

java.sql.SQLException: No suitable driver found for jdbc:sqlite:D:\\Users\\Duncan Skilton\\IdeaProject\\modus\\src\\model\\modus.db
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:270)
at controller.databaseConnect.Connection(databaseConnect.java:16)
at sample.Main.main(Main.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:389)
at com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:328)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:767)

进程以退出代码-1结束

你能提出的任何建议都将受到大力赞赏!

java sqlite fxml
1个回答
1
投票

你错过了qmsxswpoi你的dbms。使用maven时将其添加到pom.xml:

Driver

或这个

<dependency>
  <groupId>org.xerial</groupId>
  <artifactId>sqlite-jdbc</artifactId>
  <version>3.25.2</version>
</dependency>

使用gradle时的build.gradle。

P.S .:我不认为网址是正确的。你没有将url传递给你的驱动器上的文件,在互联网上找到一些sqlite网址的例子。

© www.soinside.com 2019 - 2024. All rights reserved.