4

我正在尝试使用 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);
        }
    }
4

1 回答 1

0

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

因此,您必须输入有效的凭据

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

或使用其他方法创建连接:

con = DriverManager.getConnection( DB );
于 2019-06-02T18:23:37.033 回答