【问题标题】:"Invalid authorization specification" error on UCanAccess connectUCanAccess 连接上的“无效授权规范”错误
【发布时间】:2015-08-19 14:30:06
【问题描述】:

我遇到了 UCanAccess 驱动程序的问题,即当我尝试使用以下代码连接到数据库时

public static void main(String[] args) {
    //establish connection with database in order to execute sql queries
    try {
        conn = DriverManager.getConnection("jdbc:ucanaccess://H:\\IT_PAT_Program_LOCALONLY\\IT_Pat_Database.accdb;showschema=true");
        System.out.println("Connection Established");
    } catch (SQLException ex) {
        System.out.println("Could Not Connect to database\n"+ex);
    }
    //closes the database connection at program shutdown
    Runtime.getRuntime().addShutdownHook(new Thread() {
        public void run() {
            try {
                conn.close();
                System.out.println("Shutdown Succesful");
            } catch (SQLException ex) {
                System.out.println("An exception occured\n"+ex);
            }
        }
    });
}

我遇到了以下错误:

Could Not Connect to database
net.ucanaccess.jdbc.UcanaccessSQLException: UCAExc:::3.0.0 invalid authorization specification - not found: Admin

数据库也作为持久性单元连接,但是由于我不知道有任何方法可以从代码中使用它(谷歌没有帮助),这种方法似乎是我唯一的选择。

【问题讨论】:

    标签: java ms-access netbeans ucanaccess persistence-unit


    【解决方案1】:

    我们无法在代码中看到您在哪里进行授权。

    • 用户?
    • 密码?

    Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
    Connection conn=DriverManager.getConnection(
                                    "jdbc:ucanaccess://<mdb or accdb file path>",user, password);
    

    【讨论】:

    • 没有授权它是一个普通的非密码保护的微软访问数据库。那我应该把两个都写上“”吗?
    • 您如何与 netbeans 连接?
    • @kylehendry - “那我应该把两个都写上”吗?” - 至少试试吧。听起来您在某处配置了一些东西以使用“Admin”作为用户名,而 UCanAccess(实际上是 HSQLDB)不接受它。
    • 对于 MS 数据库,如果没有用户,则生成 Admin。试试"jdbc:ucanaccess://&lt;mdb or accdb file path&gt;","Admin","")
    • 放置空字符串似乎有效,谢谢。接受的答案感谢大家的帮助
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-07-04
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    相关资源
    最近更新 更多