我有一個使用Hibernate訪問SQL數據的eclipse(indigo)項目。集成安全性的Hibernate工具和SQL服務器
我已經設置了幾個類並使用註釋來手動映射到表。我已將驅動程序jar文件(sqljdbc4.jar)添加到構建路徑,並在驅動程序jar文件(爲了支持集成安全性)下輸入了包含_sqljdbc_auth.dll_作爲「本地庫位置」的文件夾的路徑。
我可以訪問使用JDBC連接到我的SQL Server 2012的數據,它使用集成的安全性,並且我在中定義了hibernate.cfg.xml。
下一步,我想自動從剩餘的SQL表生成類。所以我從JBOSS站點安裝了Hibernate工具,並試圖通過必要的步驟進行操作:我已經根據我的hibernate配置文件創建了一個控制檯配置。現在在我的項目的Hibernate透視圖中,我看到三個項目「配置」,「會話工廠」和「數據庫」。在「配置」的屬性中,我看到了我的連接URL和其他設置。
然而,當我點擊「數據庫」我收到歸結爲Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path
- 似乎工具忽略項目設置錯誤
org.hibernate.exception.JDBCConnectionException: Getting database metadata
- 它拿起罐子,而不是路徑的dll和 - 我看不出有什麼辦法如何將文件夾的dll添加到的java.library.path
我試着使用java.library.path
使用設置文件並在控制檯配置中引用此文件。這似乎是「配置」項目中的一半工作,現在我可以看到java.library.path
中包含的文件夾。但是,當我嘗試點擊「數據庫」或配置代碼生成配置時,它不會改變任何內容 - 仍然爲no sqljdbc_auth in java.library.path
錯誤。
目前爲止我發現的唯一解決方法是將我的dll放入默認顯示的任何文件夾中,位於java.library.path。然後我可以配置「代碼生成配置」並創建類。然而,默認路徑中的64位dll被加載並導致衝突,例如當我需要來自另一個應用程序的32位版本時,所以我寧願按照需要正確執行並參考。
也許有可能加入控制檯配置下的Classpath選項卡的路徑,但是這一切看起來它說什麼 - 「類路徑」,並說將我的文件夾,它不會改變任何東西。
我想知道如何爲Hibernate工具正確配置java.library.path。有任何想法嗎?可能嗎?