【问题标题】:Embedded Derby Db in a Spring app on Tomcat在 Tomcat 上的 Spring 应用程序中嵌入 Derby Db
【发布时间】:2010-07-09 03:03:56
【问题描述】:

我正在尝试在 Tomcat/Spring 应用程序上运行嵌入式 Derby db。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="org.apache.derby.jdbc.EmbeddedDriver" />
    <property name="url" value="jdbc:derby:pepper" />
    <property name="initialSize" value="5" />
    <property name="maxActive" value="50" />
</bean>

当我运行它时,我收到以下错误:

org.apache.commons.dbcp.SQLNestedException: 不能创造 PoolableConnectionFactory(数据库 'WEB-INF/pepper' 未找到。)

我在%webapp_root%/pepper%webapp_root%/WEB-INF/pepper 都尝试过pepper 文件夹

建议?

【问题讨论】:

  • 是从类路径加载的只读数据库吗?如果没有,数据库文件应该存储在哪里?

标签: java spring tomcat derby


【解决方案1】:

如果您将 Web 应用程序部署到 Tomcat,我建议设置 JNDI connection pool 并使用 Spring 的 JndiObjectFactoryBean:

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
    <property name="jndiName" value="java:comp/env/jdbc/blah"/>
</bean>

【讨论】:

    【解决方案2】:

    我猜你需要用jdbc:derby:pepper;create=true替换url

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-08
      • 1970-01-01
      • 2017-12-23
      • 2017-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多