我正在尝试使用 ucanacces 从数据库中填充一个表,但它给了我以下错误,我不明白为什么,在谷歌搜索这个错误时,大多数人提到了一些关于用户名和密码的内容,但我不明白这是如何相关的因为我没有在整个应用程序中使用用户名和密码。

错误(这是完整的错误,我不知道为什么它只是在 ':' 之后结束):

net.ucanaccess.jdbc.UcanaccessSQLException: invalid authorization specification - not found:

代码:
final static String DBPAD = "src/Attachments/Database SOFO.mdb";
final static String DB = "jdbc:ucanaccess://" +DBPAD;

public void HaalKlantNamen(){
        Connection con;
        Statement s;
        ResultSet rs = null;
        DefaultTableModel table = (DefaultTableModel) NewOrder.table.getModel();

        try {
            con = DriverManager.getConnection( DB ,"","");
            s = con.createStatement();
            rs = s.executeQuery("select * from Item");

            if (rs != null)
                while ( rs.next() ) {
                    String[] product = new String[2];
                    product[0] = rs.getString("ItemSoort");
                    product[1] = rs.getString("Naam");
                    table.addRow(product);
                }
            s.close();
            con.close();
        }
        catch (SQLException e) {
            System.out.println("Error2: " + e);
        }
    }

最佳答案

显示消息“无效授权规范 - 未找到:”是因为您尝试使用他找不到的用户访问数据库,在您的情况下为“”。

所以你必须输入有效的凭据

con = DriverManager.getConnection( DB , "<user>", "<password>");

或使用另一种方法创建连接:
con = DriverManager.getConnection( DB );

关于java - net.ucanaccess.jdbc.UcanaccessSQLException : invalid authorization specification - not found:,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29878945/

10-13 08:50