相关疑难解决方法(0)

使用select语句锁定[SQLITE_BUSY]数据库文件

如果我对我的网络应用程序运行多个线程,我得到:

java.sql.SQLException: [SQLITE_BUSY]  The database file is locked (database is locked)
    at org.sqlite.DB.newSQLException(DB.java:383)
    at org.sqlite.DB.newSQLException(DB.java:387)
    at org.sqlite.DB.execute(DB.java:339)
    at org.sqlite.PrepStmt.executeQuery(PrepStmt.java:75)
    at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
Run Code Online (Sandbox Code Playgroud)

我知道只有一个线程可以写入sqlite数据库,但我只是从数据库中读取.那么为什么我会收到此错误消息?

顺便说一句:我的连接池看起来像这样:

<bean class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close" id="dataSource">
    <property name="driverClassName" value="${database.driverClassName}" />
    <property name="url" value="${database.url}" />
    <property name="username" value="${database.username}" />
    <property name="password" value="${database.password}" />
    <property name="initialSize" value="1" />
    <property name="maxActive" value="2" />
    <property name="maxIdle" value="1" />
    <property name="poolPreparedStatements" value="true" />
</bean>
Run Code Online (Sandbox Code Playgroud)

设置是:Java 1.6,Tomcat 7.0.34,Spring 3.2,Hibernate 3.6.9和sqlite3 3.7.2

关心罗杰

java sqlite hibernate jpa

24
推荐指数
4
解决办法
4万
查看次数

Flyway并发迁移

我们正在许多服务器上运行许多项目,这些服务器正在查找一个数据库,我们正在考虑将Flyway安装到每个项目来控制我们的数据库结构.

但是我们担心并发迁移问题,如果有些项目在同一时间重新部署.(关闭,我们总是注意sql语法中的"如果存在"的事情)

当并行更改同一数据表或其他结构时,Flyway如何工作?

flyway

9
推荐指数
1
解决办法
1652
查看次数

标签 统计

flyway ×1

hibernate ×1

java ×1

jpa ×1

sqlite ×1