2012-03-07 50 views
0

當我有使用JPA實體寫入到一個德比DB(從現有的數據庫表生成實體)一個簡單的程序。我正在使用Eclipse,並且通過EclipseLink數據源資源管理器在Derby客戶端和服務器之間存在工作連接。主()從createEntityManager拋出異常()使用的EclipseLink

這裏是我的主要()開始:

import javax.persistence.*; 
import java.sql.Timestamp; 
import java.util.*; 
import javax.*; 

public class start { 

    /** 
    * @param args 
    */ 
    private static final String PERSISTENCE_UNIT_NAME = "zodiac"; 
    private static EntityManagerFactory factory; 

    public static void main(String[] args) { 
    try { 
     factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME); 
     EntityManager em = factory.createEntityManager(); 
     System.out.println("after factory gen"); 

當我createEntityManager()行執行後拋出以下異常:

[EL信息]:2012-03- 07 22:46:21.892 - ServerSession(253038357) - EclipseLink,版本:Eclipse持久性服務 - 2.3.2.v20111125-r10461 [EL嚴重]:2012-03-07 22:46:22.064 - ServerSession(253038357 ) - 異常[EclipseLink-4002](Eclipse持久性服務 - 2.3.2.v20111125-r10461):org.eclipse.persistence.exceptions.DatabaseException Internal Exc eption:java.sql.SQLException:沒有合適的驅動程序 錯誤代碼:0

任何想法是什麼問題?謝謝

回答

0

如果你在Eclipse中,你需要添加驅動程序到你的項目類路徑。聽起來你已經擁有一個數據源,所以你必須定義驅動程序庫。您只需要將「添加庫」添加到您的Java構建路徑中,然後從可用驅動程序定義的下拉列表中選擇「連接驅動程序定義」,然後選擇Derby驅動程序。

僅供參考,有一個在新的JPA項目嚮導,您可以選擇「添加驅動程序類路徑」當你創建一個新的項目做到這一點的複選框。

當然,你也可以在derbyclient.jar中直接添加到類路徑或者定義包括其用戶庫。

--Shaun