关于persistence.xml中的derby客户端驱动程序的属性语句应该是什么,例如:
<property name="javax.persistence.jdbc.driver" value=" ? " />当尝试从Java更新DB时,我总是得到下面的异常。
实际上,我需要客户端驱动程序,而不是EmbeddedDriver。不知道怎么命名。
该项目的java构建路径/库中有Derby客户端JDBC驱动程序( eclipse插件有derby插件)。导致异常的程序指令是:
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.发布于 2012-02-02 09:18:06
javax.persistence.jdbc.driver定义了用于访问数据库的协议。
如果要访问远程/本地derby网络服务器,则需要这样设置:
<property name="javax.persistence.jdbc.driver" value="jdbc:derby://localhost:1527/my_schema " />1527年是您NetworkServer的端口。my_schema是您的数据库模式。
如果您还没有模式,请使用;create=true创建它:
jdbc:derby://localhost:1527/my_schema;create=true您可能想看看入门指南。
旁注:
Class [org.apache.derby.jdbc.EmbeddedDriver] not found.这告诉您,并不是所有derby所需的jars都存在于类路径中(在您的注释中,就是这样)。如果您得到任何这样的异常,请确保所有jars实际上都在类路径中。
https://stackoverflow.com/questions/9109497
复制相似问题