我在使用 jdbc、SQLite 和 java 时遇到一些奇怪的错误DriveManager。根据相应的java docs,DriveManager只要提供了jdbc,就可以自己加载需要的驱动。然而,对我来说,使用 SQLite 时这不起作用:
Connection conn = DriverManager.getConnection("jdbc:sqlite://" + pathToFile + File.separator + "database.db");
Run Code Online (Sandbox Code Playgroud)
执行此代码时,我得到一个 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");
Run Code Online (Sandbox Code Playgroud)
这让我完全不明白为什么第一个版本不起作用。附带说明一下,MySQL 遵循相同的实现,无需使用Class.forName()也可以正常工作。一些帮助将不胜感激。