使用druid,启动时报错 validateConnection false
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用druid,启动时报错 validateConnection false相关的知识,希望对你有一定的参考价值。
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<!-- 基本属性 url、user、password -->
<property name="driverClassName" value="$jdbc.driverClassName" />
<property name="url" value="$jdbc.url" />
<property name="username" value="$jdbc.username" />
<property name="password" value="$jdbc.password" />
<!-- 配置初始化大小、最小、最大 -->
<property name="initialSize" value="1" />
<property name="minIdle" value="1" />
<property name="maxActive" value="20" />
<!-- 配置获取连接等待超时的时间 -->
<property name="maxWait" value="60000" />
<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
<property name="timeBetweenEvictionRunsMillis" value="60000" />
<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
<property name="minEvictableIdleTimeMillis" value="300000" />
<property name="validationQuery" value="SELECT 'x'" />
<property name="testWhileIdle" value="true" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<!-- 打开PSCache,并且指定每个连接上PSCache的大小 -->
<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
<!-- 配置监控统计拦截的filters -->
<property name="filters" value="stat" />
</bean>
这句话没有执行成功。这写法顶多是mysql能成功,你如果是oracle,要写一个oracle能通过的语句,比如select count(*) from xxx 参考技术A <property name="validationQuery" value="SELECT 'x'" />看看你是链接的什么数据库,修改成该数据库的一个正确的查询语句试试追问
的确改成:SELECT 1 FROM DUAL。就好了,但是如果写的是SELECT 1 会有提示并报错
- invalid oracle validationQuery. SELECT 1 , may should be : SELECT 1 FROM DUAL
看来是转换成正确的sql了,为什么还报错呢?
这里报错说是oracle的查询语句验证错误,可能是SELECT 1 FROM DUAL,提示修改成这个,如果链接的是sqlserver或者其他数据库,那么可能就不是这个验证sql语句了哈
以上是关于使用druid,启动时报错 validateConnection false的主要内容,如果未能解决你的问题,请参考以下文章