gpt4 book ai didi

java - 如何修复 java.sql.SQLException。没有适合 jdbc 的驱动程序

转载 作者:行者123 更新时间:2023-12-02 09:32:23 25 4
gpt4 key购买 nike

当我尝试从命令行运行文件时,出现错误 java.sql.SQLException No合适的驱动程序 for jdbc:derby:books。在 Eclipse 中,一切正常。我读了一本书“Java,如何编程”Deitel&Deitel,该文件是其中的一个示例。当我尝试从命令行编译程序时,它没有显示错误,但问题在于运行。请帮忙

public class DisplayAuthors {
public static void main(String args[]) {
final String DATABASE_URL = "jdbc:derby:books";
final String SELECT_QUERY =
"SELECT authorID, firstName, lastName FROM authors";
String user="deitel";
String password="deitel";


try (

Connection connection = DriverManager.getConnection(
DATABASE_URL, user,password);
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery(SELECT_QUERY)) {


ResultSetMetaData metaData = resultSet.getMetaData();
int numberOfColumns = metaData.getColumnCount();

System.out.printf("Table Authors database books:%n%n");


for (int i = 1; i <= numberOfColumns; i++) {
System.out.printf("%-8s\t", metaData.getColumnName(i));
}
System.out.println();


while (resultSet.next()) {
for (int i = 1; i <= numberOfColumns; i++) {
System.out.printf("%-8s\t", resultSet.getObject(i));
}
System.out.println();
}
}
catch (SQLException sqlException) {
sqlException.printStackTrace();
}
}
}

命令行执行:

javac DisplayAuthors.java
java DisplayAuthors

最佳答案

您正在命令行中运行类文件,没有依赖项。

在您的 Eclipse IDE 中,您可能有 derby.jar 或类似的依赖项,并且 Eclipse 会自动将所有内容添加到执行中。直接从命令行执行时需要添加所有依赖项。

如果您注意到在 MANIFEST.MF 中创建了一个具有依赖项的可运行 jar,并且您尝试直接执行该类,则需要添加 -cp 参数以及所有依赖项的路径:

示例:

java -cp Derby.jar;. DisplayAuthors

总结一下,Derby.jar 和您的类位于同一位置,并且无需添加更多依赖项。

更多信息:

Java Command line (Oracle Java9 SE)

Differences between "java -cp" and "java -jar"?

关于java - 如何修复 java.sql.SQLException。没有适合 jdbc 的驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57852664/

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