Java SQL 错误,找不到合适的驱动程序

标签 java database netbeans database-connection derby

我正在尝试编译这一小段代码,以帮助我连接到我的数据库并检索一些信息来测试它。我在 Windows 7 x64 机器上使用 Netbeans。这是代码:

package passwordprotector;
import java.sql.*;

public class PasswordProtector {

/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    String host = "jdbc:derby://localhost:1527/PasswordProtector DB";
    String dbUsername = "john"; 
    String dbPassword = "arsenal";

    /*try{
        Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
    }catch(ClassNotFoundException e){
        System.out.println(e);
    }*/

    try{
        Connection con = DriverManager.getConnection(host, dbUsername, dbPassword);
        Statement stmt = con.createStatement();

        ResultSet rs = stmt.executeQuery("SELECT * FROM APP.PERSON");

        while (rs.next()) {
            String uName = rs.getString("uname");
            String uPass = rs.getString("upass");
            System.out.println("Username: " + uName + "/n" + "Password: " + uPass);
        }
    }catch(SQLException e){
        System.err.println(e);
    }
}
}

当我编译并运行时,我收到此错误:

java.sql.SQLException: No suitable driver found for jdbc:derby://localhost:1527/PasswordProtector DB
BUILD SUCCESSFUL (total time: 0 seconds)

当我右键单击我的数据库并选择属性时,我可以看到它的位置,如下所示:

Database URL: jdbc:derby://localhost:1527/PasswordProtector

我已经与发布过此问题的其他人核实过,他们似乎有一个不正确的 URL 作为问题,但我看不到除了发布的 URL 之外我可以使用的任何其他 URL。

我试过使用和不使用字符串主机的结尾“DB”,都不起作用。

我也已经阅读了 here仍然无法弄清楚为什么 URl 不正确:

最佳答案

不确定数据库 URL 连接的问题,但使用正确的驱动程序。如果数据库是嵌入式的,你应该使用你的帖子中评论的驱动程序和我的 answer 中的示例。 , 还有 tutorial embedded derby .

如果没有则使用

Class.forName("org.apache.derby.jdbc.ClientDriver");

它是连接到独立运行的数据库的不同驱动程序。在这种情况下,请参阅 derby network client文档如何配置和运行 derby 网络客户端。

关于Java SQL 错误,找不到合适的驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14547109/

相关文章:

java - 来自内部存储的电子邮件

mysql - 带有空值的 SQL 查询

netbeans - 如何防止 NetBeans 记住打开的文件?

php - 当日期刚刚保存为 UNIX 时间戳时,针对特定日期的 MySQL 过滤器

java - 如何在 NetBeans 6.9 中构建 jar?

java - 从 netbeans 中停止的 glassfish 中删除所有应用程序的快速方法?

java - 如何使用 Java 计算器进行单操作数数学运算?

java - 需要从我的应用程序进行非阻塞/异步方法调用

java - 在专用 tomcat 上将 spring-boot 应用程序部署为 war 文件不起作用

Mysql备份脚本