“对于基本的Java derby DB读取没有“合适的驱动程序”错误

问题描述 投票:0回答:1

我从使用netbeans的基本Java derby DB程序中收到以下错误。

我尝试下载许多类型的包含jar文件的驱动程序,然后更改Class.forName(_______);语句以包括没有运气的路径。我已经阅读了许多类似的问题,并尝试通过了没有运气的决议。

[当我转到服务/数据库时,右键单击数据库,然后单击属性,它显示为

驱动程序类:org.apache.derby.jdbc.ClientDriver。

我可以在org.apache.derby.jdbc.ClientDriver下找到project/libraries文件,但仅在我最近通过右键单击app/properties/libraries/OK而添加的jar下,不确定在jdk 1.8中的位置。

非常感谢您的帮助。

错误:“ SQL错误:java.sql.SQLException:找不到适用于jdbc:derby:// localhost:1527 / sample 0 08001的驱动程序”

    package javaapplication10;

    import java.sql.*;

    public class JavaApplication10 {

    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    String data = "jdbc:derby://localhost:1527/sample";
    try (
       Connection conn = DriverManager.getConnection(
           data, "app", "APP");
       Statement st = conn.createStatement()) {

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

        ResultSet rec = st.executeQuery(
            "select CUSTOMER_ID, NAME, CITY, STATE " +
            "from APP.CUSTOMER " +
            "order by CUSTOMER_ID");
        while (rec.next()) {
            System.out.println("CUSTOMER_ID:\t"
                + rec.getString(1));
            System.out.println("NAME:\t" + rec.getString(2));
            System.out.println("CITY:\t" + rec.getString(3));
            System.out.println("STATE:\t" + rec.getString(4));
            System.out.println();
        }
        st.close();
       } catch (SQLException s) {
        System.out.println("SQL Error: " + s.toString() + " "
            + s.getErrorCode() + " " + s.getSQLState());
       } catch (Exception e) {
        System.out.println("Error: " + e.toString()
            + e.getMessage());
       }
       }
       }

libraries image

java netbeans derby
1个回答
0
投票

您需要将Class.forName("org.apache.derby.jdbc.ClientDriver");行移到try块之外(在try时钟之前)。您可以让main方法声明throws ClassNotFoundException以便程序进行编译。这样,驱动程序将可用于try中的DriverManager来查找和使用。

此外,由于要在try定义内创建Statement,因此st.close();之前的最后一行catch是多余的,因此可以安全地删除它。

© www.soinside.com 2019 - 2024. All rights reserved.