2012-05-16 233 views
1

1.使用與MS Access 2007數據庫(免費JDBC驅動程序)

我想做一個逆向工程行動上的MS Access 2007數據庫的Eclipse的休眠插件休眠。我不得不使用現有的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數據庫的主鍵(刪除所有主鍵)或只有一個表,試圖在MS Access中的逆向工程沒有主鍵,但我得到了所有的時間 問題。

2.

我的工作的目的是爲了與數據從現有的數據庫MS Access 2007中轉移每日(周)一個Oracle 11g數據庫,我想用一個過程(休眠EJB)Java來每週自動啓動進行數據傳輸。這是最好的解決方案嗎?

配置:

  • 在sun.jdbc.odbc.JdbcOdbcDriver V 100
  • 休眠V3.4
  • 的Eclipse

PS:如果你是一個開發人員HXTT或銷售者請與放縱我的崗位)。通過讓人們相信你的幫助賺錢,這很糟糕!


一個解決方案是使用Derby客戶機驅動程序,如在後的解決方案: Does anyone know if Hibernate and java will work effectively with Access?

但需要澄清豐富賣家的答案。你能否解釋你的答案並解釋你的配置(hibernate.cfg.xml,persistence.xml和你在屬性name =「hibernate.connection.url」中使用的URL),而不使用支付HXTT驅動程序,而是使用免費的Derby驅動程序。

回答

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); 

,然後,進行免費的逆向工程is'nt可能...... 唯一的辦法就是讓entitiesManager白衣你beautifuls手中。

玩得開心!

1

按照Hibernate forum的HXTT驅動程序是目前唯一的解決方案可用於Hibernate與MS Access。

相關問題