【发布时间】:2018-10-09 22:24:29
【问题描述】:
我在使用其他版本的 JDBC SQLite 时遇到问题,而不是 Java 中默认使用的版本。我已将 this driver 的依赖添加到 pom.xml 中,当我使用 DriverManager.getConnection("jdbc:sqlite:database.db"); 时,我无法使用此驱动程序中的任何特殊功能,因为已加载 java 默认功能。
我正在尝试使用下载的“jdbc:sqlite”驱动程序的较高版本。我已经使用 maven 将驱动程序的源代码导出到我的 intellij 项目中,但是当我使用 Class.forName("org.jdbc.sqlite"); (在我的项目中的位置)然后它不起作用并且 DriverManager 仍然使用具有较低版本的不同驱动程序。我需要更新版本才能使用 ON CONFLICT 功能。我的问题是我不知道如何在我的项目中使用我自己的“jdbc:sqlite”驱动来创建连接。
【问题讨论】:
-
Java 中没有默认的 JDBC 驱动程序(旧版本 Java 中的 JDBC-ODBC 桥除外,但它只侦听以
jdbc:odbc:为前缀的 JDBC url)。你的问题可能是另一个问题。请发布您的代码并更清楚地描述您的问题。 -
感谢您的评论。我正在尝试使用下载的更高版本的
"jdbc:sqlite"驱动程序。我已经使用 maven 将驱动程序的源代码导出到我的 intellij 项目中,但是当我使用Class.forName("org.jdbc.sqlite");(在我的项目中的位置)时它不起作用,DriverManager仍然使用具有较低版本的不同驱动程序。我需要更大的版本才能使用ON CONFLICT功能。我的问题是我不知道如何在我的项目中使用我自己的"jdbc:sqlite"驱动来创建Connection。 -
那么您可能在类路径中同时拥有旧版本和新版本的驱动程序。删除旧的。
-
这个较旧的是在java环境中。我做不到。
-
Java 默认不包含 sqlite。如果有人将驱动放在JVM的(已弃用)
lib/ext文件夹中,应该将其删除。这纯粹是部署或类路径配置问题。