1

1.

我想在MS Access 2007数据库上使用 Eclipse 的Hibernate插件进行逆向工程操作。我被迫使用现有的 MS Access 2007 数据库。

一个简单的解决方案是购买 HXTT。但我想用一个免费的司机来做我的工作。

所以我尝试应用这篇文章: http: //www.programmingforfuture.com/2011/06/how-to-use-ms-access-with-hibernate.html (使用 SQL Server 方言和驱动程序 sun.jdbc .odbc.JdbcOdbcDriver)

不幸的是,我有一个错误,似乎没有人在互联网上:

Exception while generating code

Reason : 
org.hibernate.exception.GenericJDBCException: Error while reading primary key meta data for `c:/myaccessdb.mdb`.TableTest1

我曾尝试更改我的 MS Access DB 上的主键(删除所有主键)或尝试在只有一个没有主键的表的 MS ACCESS 上进行逆向工程,但我总是遇到问题。

2.

我工作的目的是每天(每周)传输一个 Oracle 11g 数据库,其中包含来自现有数据库 MS ACCESS 2007 的数据。我想使用一个每周自动启动的程序(Hibernate EJB)Java 来进行数据传输。这是最好的解决方案吗?

配置 :

  • sun.jdbc.odbc.JdbcOdbcDriver v???
  • 休眠 v3.4

ps:如果您是 HXTT 开发者或卖家,请多多关照我的帖子;)。通过让人们相信你的帮助来赚钱,这很糟糕!


一个解决方案是使用 Derby Client 驱动程序,作为帖子中的解决方案: 有谁知道 Hibernate 和 java 是否可以有效地与 Access 一起工作?

但是需要澄清 Rich Seller 的回答。您能否在不使用付费 HXTT 驱动程序但使用免费 Derby 驱动程序的情况下解释您的答案并解释您的配置(hibernate.cfg.xml、persistence.xml 以及您在属性 name="hibernate.connection.url" 中使用的 URL)。

4

2 回答 2

1

唯一可用的解决方案是像这样连接您的 JDBC 驱动程序:

//Load the JDBC driver, useless with a Type 4 JDBC driver
Class.forName(DRIVER_NAME);

//To add specific properties such as a username/password pair
Properties connectionProperties = new Properties();

//Try to establish a connection to the database
connection = DriverManager.getConnection(DATABASE_URL, connectionProperties);

然后,不可能进行免费的逆向工程......唯一的方法是让entitiesManager 成为你美丽的双手。

玩得开心!

于 2012-06-06T13:44:12.797 回答
1

根据Hibernate 论坛,HXTT 驱动程序是目前唯一可用于将 Hibernate 与 MS Access 结合使用的解决方案。

于 2012-09-13T21:36:17.563 回答