3

我必须在 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/Datanbank2.accdb
  • “用户名”和“密码”留空

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

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

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

通过 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 Professional 64 位
Microsoft Office 2013
NetBeans IDE 8.0
Java 1.8

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

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

4

2 回答 2

2

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

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

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

于 2014-04-26T09:20:57.550 回答
1

我错了,这不是一项棘手的任务,但是...要建立连接,您必须在驱动程序文件中列出:ucanaccess-2.0.4.jar、commons-lang-2.6.jar、hsqldb.jar , jackcess-2.0.3.jar 以及您可以在 NetBeans 中找到的不同版本的 commons-logging :NetBeans 8.0\ide\modules\org-apache-commons-logging.jar(UCanAccess 发行版中的 commons-logging 是与 NetBeans 使用的冲突)

但不幸的是,在建立连接后,您将无法通过此 IDE 执行查询,因为 UcanaccessDatabaseMetadata 中的一个小错误对我测试的其他 IDE jdbc 客户端(Openoffice、Libreoffice、DBeaver、Squirrel)没有影响、SQLeo 等)。所以,要做到这一点,你必须等待几天(我想我会在下周发布一个修补过的 Ucanaccess 2.0.4.1)。此外,我将在 UCanAccess 网站中添加一条关于 UCanAccess 配置为 NetBeans 服务的说明。

于 2014-04-21T22:03:58.073 回答