Druid连sqlite,能查询出结果,却报ResultSet closed异常 。java
百度了一圈却是碰到有人说相似的 ResultSet is closed 的错误的,没找到解决方案,但能够肯定是druid的问题。并且是druid的一个bug。mysql
<!-- 打开PSCache,是否缓存preparedStatement,也就是PSCache。 PSCache对支持游标的数据库性能提高巨大,好比说oracle。 在mysql5.5如下的版本中没有PSCache功能,建议关闭掉。做者在5.5版本中使用PSCache,经过监控界面发现PSCache有缓存命中率记录,该应该是支持PSCache。 --> <!--注:发现一个错误,Druid连sqlite,ResultSet closed异常,若是出现这个错误,注释掉这2项--> <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
直接将上面的这2个属性注释掉,这个问题解决。sql
把poolPreparedStatements设置成false,或者注释掉;数据库
maxOpenPreparedStatements也注释掉。便可解决,若是是用jdbc的写法,那么设置下缓存
dp.setMaxOpenPreparedStatements(0) , 就ok了。 oracle