2012-03-07 5 views
0

JPAエンティティを使用してDerby DBに書き込む単純なプログラムがあります(エンティティは既存のDBテーブルから生成されました)。私はEclipseを使用しています.DebyクライアントとEclipseLink Data Source Explorerを介したサーバー間の接続は正常です。ここでEclipseLinkを使用しているときにmain()がcreateEntityManager()から例外をスローする

)が(私のメインのスタートです:

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

I createEntityManager(とライン)は、次の例外がスローされ実行された場合:

[ELインフォメーション]:2012-03- Eclipse Persistence Services - 2.3.2.v20111125-r10461 [EL Severe]:2012-03-07 22:46:22.064 - ServerSession(253038357) ) - 例外[EclipseLink-4002](Eclipse永続化サービス - 2.3.2.v20111125-r10461):org.eclipse.persistence.exceptions.DatabaseException 内部エクスプレッションeption:java.sql.SQLException:適切なドライバがありません エラーコード:0

何が問題なのですか?ありがとう

答えて

0

Eclipseにいる場合は、ドライバをプロジェクトのクラスパスに追加する必要があります。既にデータソースを持っているように思えるので、ドライバライブラリを定義しておく必要があります。 Javaビルド・パスに「ライブラリを追加」し、使用可能なドライバ定義のドロップダウン・リストから「接続ドライバ定義」を選択し、Derbyドライバを選択するだけです。

FYI、新しいJPAプロジェクトウィザードには、新しいプロジェクトを作成するときにこれを行うための「クラスパスへのドライバの追加」を選択できるチェックボックスがあります。

もちろん、derbyclient.jarをクラスパスに直接追加することも、それを含むユーザーライブラリを定義することもできます。

- シャーン

関連する問題