首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >德比persistence.xml

德比persistence.xml
EN

Stack Overflow用户
提问于 2012-02-02 08:59:49
回答 1查看 4.8K关注 0票数 2

关于persistence.xml中的derby客户端驱动程序的属性语句应该是什么,例如:

代码语言:javascript
复制
<property name="javax.persistence.jdbc.driver" value="  ?  " />

当尝试从Java更新DB时,我总是得到下面的异常。

实际上,我需要客户端驱动程序,而不是EmbeddedDriver。不知道怎么命名。

该项目的java构建路径/库中有Derby客户端JDBC驱动程序( eclipse插件有derby插件)。导致异常的程序指令是:

代码语言:javascript
复制
    factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
    EntityManager em = factory.createEntityManager();


[EL Info]: 2012-02-02 10:48:44.805--ServerSession(1434473856)--EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461
[EL Severe]: 2012-02-02 10:48:44.93--ServerSession(1434473856)--Exception [EclipseLink-4003] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Exception Description: Configuration error.  Class [org.apache.derby.jdbc.EmbeddedDriver] not found.
Exception [EclipseLink-4003] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Exception Description: Configuration error.  Class [org.apache.derby.jdbc.EmbeddedDriver] not found.
EN

回答 1

Stack Overflow用户

发布于 2012-02-02 09:18:06

javax.persistence.jdbc.driver定义了用于访问数据库的协议。

如果要访问远程/本地derby网络服务器,则需要这样设置:

代码语言:javascript
复制
<property name="javax.persistence.jdbc.driver" value="jdbc:derby://localhost:1527/my_schema  " />

1527年是您NetworkServer的端口。my_schema是您的数据库模式。

如果您还没有模式,请使用;create=true创建它:

代码语言:javascript
复制
jdbc:derby://localhost:1527/my_schema;create=true

您可能想看看入门指南

旁注:

代码语言:javascript
复制
Class [org.apache.derby.jdbc.EmbeddedDriver] not found.

这告诉您,并不是所有derby所需的jars都存在于类路径中(在您的注释中,就是这样)。如果您得到任何这样的异常,请确保所有jars实际上都在类路径中。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9109497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档