找不到适合 jdbc:derby:myDBtest 的驱动程序

No suitable driver found for jdbc:derby:myDBtest

我注意到这里有很多人已经问过同样的问题,所以我试着按照人们建议的解决方案。 但是,我仍然在为以下错误而苦苦挣扎。.请指教!

"myDB" 这是我创建的 table 并且已经插入了一些行。它在我的 eclipse 项目文件夹中。

ps。 Java 和 Javac 命令有效,所以我认为环境设置已设置。

代码:

try {            
    Class.forName("org.apache.derby.jdbc.ClientDriver");
} catch (ClassNotFoundException e1) {
    e1.printStackTrace();
}           

Connection conn = DriverManager.getConnection("jdbc:derby:myDB");
System.out.println(conn);
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("SELECT COUNT(*) FROM marathon");

和错误:

java.sql.SQLException: No suitable driver found for jdbc:derby:myDB
at                 
java.sql/java.sql.DriverManager.getConnection(DriverManager.java:702)
at 
java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
at Main.actionPerformed(Main.java:166)
    .
    .
    .

非常感谢您的帮助并提前致谢。

由于你的URL是jdbc:derby:myDB,是Embedded Derby的语法,所以你的CLASSPATH中需要有derby.jar,然后Derby会打开embedded数据库位于相对于程序当前工作目录的 myDB 文件夹中。

如果您真的想使用 Client/Server 版本的 Derby,将 ClientDriver 作为您的 JDBC 驱动程序,那么您需要更改您的连接 URL 语法要使用客户端-服务器语法,您需要有 Derby Network Server 运行.

这里有一个教程可以帮助您入门并理解所有这些概念:https://db.apache.org/derby/docs/10.14/getstart/