我必须在Netbeans“服务”选项卡中定义一个新的驱动程序
服务->数据库->驱动程序->新驱动程序...
因为我想在UCanAccess的上下文中使用“数据库中的实体类”向导。
第一步:“新驱动程序”起作用(仅声明;-))

  • 驱动程序文件:f:\ WorkspaceNetbeans \ MSAccessDB \ lib \ UCanAccess-2.0.4-bin \ ucanaccess-2.0.4.jar
  • 驱动程序类:net.ucanaccess.jdbc.UcanaccessDriver
  • 名称:msaccess

  • 第二步:“使用...连接”
  • JDBC URL:jdbc:ucanaccess:// F:/WorkspaceNetbeans/MSAccessDB/data/Datenbank2.accdb
  • “用户名”和“密码”留空

  • “测试连接”按钮会导致错误消息:

    无法建立与
    jdbc:ucanaccess:// F:\ WorkspaceNetbeans \ MSAccessDB \ data \ Datenbank2.accdb使用
    net.ucanaccess.jdbc.UcanaccessDriver(无法初始化类
    net.ucanaccess.jdbc.UcanaccessDriver)

    我从http://ucanaccess.sourceforge.net/site.html获得了最新的ucanaccess
    Netbeans类路径中的ucanaccess-2.0.4.jar,commons-lang-2.6.jar,commons-logging-1.0.4.jar,hsqldb.jar,jackcess-2.0.3.jar。

    通过jdbc连接到ucanaccess的旧方式很好用。
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
       String connectString = "jdbc:ucanaccess://" + "f:/WorkspaceNetbeans/MSAccessDB/data/Datenbank2.accdb";
       Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
       Connection conn = DriverManager.getConnection(connectString, "", "");
       conn.createStatement().execute("CREATE TABLE example1 (id COUNTER PRIMARY KEY,descr text(400), number numeric(12,3), date0 datetime) ");
    }
    

    相同的连接字符串也可以正常工作,使DBeaver能够连接到MSAccess数据库。

    我的设置:
    Windows 7专业版64位
    Microsoft Office 2013
    NetBeans IDE 8.0
    Java 1.8

    问题类似于:“JT400和UCanAccess之间发生冲突?” Conflict between JT400 and UCanAccess?
    但是那里的答案对我的问题没有帮助。

    有什么想法可以解决我的问题吗?

    最佳答案

    UCanAccess 2.0.4.1已发布,现在您可以将UCanAccess配置为NetBeans服务。
    如在UCanAccess网站(选项卡“jdbc客户端工具”)中所述,您必须:

    -在“驱动程序文件”字段中,添加ucanaccess.jar和所有依赖项。我已经将UCanAccess发行版中的commons-logging升级到1.1.1,因此您可以将该jar与NetBeans8一起使用。

    -对jdbc网址使用以下模式:
    jdbc:ucanaccess://; showschema = true
    Showschema连接属性必须设置为true。

    10-08 13:20