现在情况是 由于其他应用先前也在这个库建立了一张test表,用来存储业务数据,结果c3p0无法新建一张表来处理连接。

报错截图:

ORA-00942 table or  view does not exist_bc

所以每次查询时,虽然用户名、密码等所有连接信息都正确。也会因为test表的问题无法执行查询。

解决办法:修改c3p0的配置属性

将testConnectionOnCheckin 改为false 或者 automaticTestTable修改为其他未使用的表名


<bean id="dataSource2" class="com.mchange.v2.c3p0.ComboPooledDataSource"      >   


<property name="driverClass" value="${db.driverClassName}" />
<property name="jdbcUrl" value="${db.url}" />
<property name="user" value="${db.username}" />
<property name="password" value="${db.password}" />

<property name="maxPoolSize" value="${c3p0.max_size}" />

<property name="minPoolSize" value="${c3p0.min_size}" />

<property name="initialPoolSize" value="${c3p0.initial_pool_size}" />

<property name="maxIdleTime" value="${c3p0.max_idle_time}" />

<property name="acquireIncrement" value="${c3p0.acquire_increment}" />
    <!-- 方法1:修改这里的连接属性为false -->
<property name="testConnectionOnCheckin" value="true"/>
    <!-- 方法2:修改test为其他在数据库中未使用的表名 -->
<property name="automaticTestTable" value="test"/>

</bean>