我有一个简单的程序,使用JPA实体写入Derby DB(实体是从现有的DB表生成的)。我正在使用Eclipse,并且Derby客户端和服务器之间通过EclipseLink Data Source Explorer实现了可靠的连接。
这是我的main()的开头:
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 Info]:2012-03-07 22:46:21.892 - ServerSession(253038357) - EclipseLink,版本:Eclipse Persistence Services - 2.3.2.v20111125-r10461 [EL Severe]:2012-03-07 22:46:22.064 - ServerSession(253038357) - 异常[EclipseLink-4002](Eclipse Persistence Services - 2.3.2.v20111125-r10461):org.eclipse.persistence.exceptions .DatabaseException 内部异常:java.sql.SQLException:没有合适的驱动程序 错误代码:0
知道问题是什么?感谢
答案 0 :(得分:0)
如果您在Eclipse中,则需要将驱动程序添加到项目类路径中。听起来你已经拥有了一个数据源,所以你必须定义了驱动程序库。您需要做的就是将“添加库”添加到Java构建路径,然后从可用驱动程序定义的下拉列表中选择“连接驱动程序定义”,然后选择Derby驱动程序。
仅供参考,New JPA Project向导中有一个复选框,您可以在创建新项目时选择“将驱动程序添加到类路径”来执行此操作。
当然,您也可以直接将derbyclient.jar添加到类路径中,或者定义包含它的用户库。
- 肖恩