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
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每周自动启动做数据传输。这是最好的解决方案吗?
配置:
ps:如果您是HXTT开发商或卖家,请放纵我的帖子;)。通过让人们相信你的帮助赚钱,这很糟糕!
解决方案是使用Derby Client驱动程序,作为帖子中的解决方案: Does anyone know if Hibernate and java will work effectively with Access?
但需要澄清Rich Seller的答案。你能解释一下你的答案并解释你的配置(hibernate.cfg.xml,persistence.xml以及你在属性名称中使用的URL =" hibernate.connection.url")而不使用付费的HXTT驱动程序但是免费德比车手。
答案 0 :(得分: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);
然后,让自由逆向工程成为可能...... 唯一的办法就是让entityManager成为你美丽的手。
玩得开心!
答案 1 :(得分:1)
根据Hibernate forum,HXTT驱动程序是目前可用于将Hibernate与MS Access一起使用的唯一解决方案。