00942 table or view does not exist

使用了c3p0的连接池,在建立连接时,c3p0会在数据库连接一张test表,用来验证连接。

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

报错截图:

00942 table or view does not exist

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

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

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

<bean      > 
   
     
        <property value="${db.driverClassName}" />   
        <property value="${db.url}" />   
        <property value="${db.username}" />   
        <property value="${db.password}" />   
       
        <property value="${c3p0.max_size}" />   
           
        <property value="${c3p0.min_size}" />   
       
        <property value="${c3p0.initial_pool_size}" />   
         
        <property value="${c3p0.max_idle_time}" />   
         
        <property value="${c3p0.acquire_increment}" /> 
    <!--  方法1:修改这里的连接属性为false -->
        <property value="true"/>
    <!--  方法2:修改test为其他在数据库中未使用的表名 -->
        <property value="test"/>
       
    </bean>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/a9279b078812d11ccfd64c0c49fe95b5.html