gpt4 book ai didi

java - JDBC + SQLite : DriveManager does not load needed driver

转载 作者:搜寻专家 更新时间:2023-11-01 03:09:30 25 4
gpt4 key购买 nike

我在使用 jdbc、SQLite 和 java 的 DriveManager 时遇到了一些奇怪的错误。根据对应java docs , DriveManager 可以自行加载需要的驱动,只要提供jdbc即可。但是,对我来说,这在使用 SQLite 时不起作用:

Connection conn = DriverManager.getConnection("jdbc:sqlite://" + pathToFile + File.separator + "database.db");

当执行这段代码时,我得到一个 SQLException: No suitable driver found for jdbc:sqlite:pathToFile\database.db 通常我会假设 jdbc 不是它应该的,但是,对于出于某种原因,以下作品:

Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite://" + pathToFile + File.separator + "database.db");

这让我完全不知道为什么第一个版本不起作用。作为旁注,遵循相同实现的 MySQL 在不使用 Class.forName() 的情况下也能正常工作。一些帮助将不胜感激。

最佳答案

这取决于jdbc驱动程序是如何实现的。在“过去”的日子里,您总是需要在加载驱动程序之前调用 Class.forNames()。使用 jdbc ServiceLoader 支持实现的“现代”驱动程序不再需要这个。基本上归结为驱动程序 jar 是否具有适当的“META-INF/services/java.sql.Driver”条目。

所有这些都包含在 DriverManager 中javadocs.

关于java - JDBC + SQLite : DriveManager does not load needed driver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13637389/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com