2016-11-11 75 views
0

我不斷收到如何使用DB2 JDBC驅動程序與Hibernate

拋出java.lang.ClassNotFoundException:無法加載所請求的類:com.ibm.db2.jcc.DB2Driver

嘗試時使用Hibernate連接到DB2數據庫。司機罐子被引用爲外部庫:

Image of Eclipse's "Referenced Library" folder

它還在classpath中顯示出來:

classpathentry kind="lib" path="C:/Program Files (x86)/IBM/SQLLIB/java/db2jcc.jar"/> 

我也可以通過在源代碼中輸入其訪問類。我persistence.xml看起來如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"> 
    <persistence-unit name="name" transaction-type="RESOURCE_LOCAL"> 
     <description>Persistence Unit</description> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 

     <class>MyClass</class> 

     <properties> 
     <property name="javax.persistence.jdbc.driver" value="com.ibm.db2.jcc.DB2Driver" /> 
     <property name="javax.persistence.jdbc.url" value="jdbc:db2://url" />   
     <property name="javax.persistence.jdbc.user" value="user" /> 
     <property name="javax.persistence.jdbc.password" value="password" /> 
     <property name="hibernate.dialect" value="org.hibernate.dialect.DB2Dialect" /> 

     <property name="hibernate.hbm2ddl.auto" value="create" /> 
     <property name="hibernate.show_sql" value="false" /> 
     <property name="hibernate.format_sql" value="true" />   
     </properties> 
    </persistence-unit> 
</persistence> 

我懷疑,爲什麼這是行不通的是,類包含在外部庫,而不是作爲一個maven依賴,因爲當我通過net.ucanaccess.jdbc.UcanaccessDriver更換DB2驅動程序(其中包含在Maven包中),這個類將會被發現。

任何想法我在做什麼錯在這裏?

回答

0

問題是我正在使用Maven exec插件來運行主類。 W/o使用Maven,它工作正常...

0

當您使用com.ibm.db2.jcc.DB2Driver」確保db2jcc.jar & db2jcc_license_cu.jar在你classpath.Please在classpath中添加兩個罐子,並給予一試。

+0

不幸的是,這並沒有幫助,仍然是同樣的錯誤。 – Tim

+0

將兩個jar作爲外部jar添加到您的項目中 – Zia

+0

驗證您的persistence.xml文件屬性。 Zia

相關問題