ORA-00942 table or view does not exist

本文介绍了一个关于c3p0连接池配置的问题,即当其他应用已使用名为test的表作为业务表时,c3p0无法创建用于验证连接的test表。文章提供了两种解决方案:一是禁用连接检查,二是更改用于验证连接的表名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

报错截图:

所以每次查询时,虽然用户名、密码等所有连接信息都正确。也会因为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>

 

转载于:https://www.cnblogs.com/zhengwenqiang/p/7495817.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值