如果我跑对我的web应用程序的多个线程我得到:入门[SQLITE_BUSY]数据库文件被锁定与select语句
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)
我知道,只有一个线程可以写入到一个SQLite数据库,但我只从数据库读取。那么,为什么我会得到这个错误消息呢?
BTW:我的连接池是这样的:
<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>
的设置是:Java 1.6的下,Tomcat 7.0.34,春季3.2的Hibernate 3.6.9和3.7.2 sqlite3的
问候 罗杰
可能重复[SQLITE \ _BUSY数据库文件被锁定(数据库被锁定)在检票中](http://stackoverflow.com/questions/8559623/sqlite-busy-the-database-file-is-locked-数据库被锁定在检票口) – Stephan