java.sql.SQLException:连接关闭后不允许进行任何操作。数据库:mysql

java.sql.SQLException:连接关闭后不允许进行任何操作。数据库:mysql,java,mysql,c3p0,Java,Mysql,C3p0,例外情况: java.sql.SQLException:连接关闭后不允许进行任何操作 当我试图运行我的应用程序时,我遇到了一个奇怪的异常。我将局部变量用于连接对象,在执行一些语句后,会引发此异常。我使用的是c3p0连接池和MySQL数据库。在没有看到您的代码的情况下很难诊断这个问题,但我曾经遇到过类似的问题,因为MySQL在一段时间后关闭了连接;因此,请确保数据源的配置具有验证查询,并且testOnBorrow和testWhileIdle都为true 以下是一个例子: <Resou

例外情况: java.sql.SQLException:连接关闭后不允许进行任何操作


当我试图运行我的应用程序时,我遇到了一个奇怪的异常。我将局部变量用于连接对象,在执行一些语句后,会引发此异常。我使用的是c3p0连接池和MySQL数据库。

在没有看到您的代码的情况下很难诊断这个问题,但我曾经遇到过类似的问题,因为MySQL在一段时间后关闭了连接;因此,请确保数据源的配置具有验证查询,并且testOnBorrow和testWhileIdle都为true

以下是一个例子:

    <Resource auth="Container" type="javax.sql.DataSource" name="jdbc/mydb"
            driverClassName="com.mysql.jdbc.Driver"
            url="jdbc:mysql://myserver/mydb"
            maxActive="10"
            maxIdle="5"
            validationQuery="SELECT 1"
            testOnBorrow="true"
            testWhileIdle="true"
            timeBetweenEvictionRunsMillis="10000"
            minEvictableIdleTimeMillis="60000"
            username="???" password="???"/>


如果看不到您的代码,就很难判断到底哪里出了问题。关闭数据库连接后,您很可能正在对
语句
结果集
执行操作。我无法显示代码,因为它非常庞大,我无法找到确切的问题所在。我只是想知道为什么会出现此异常。提前感谢。这是因为在对语句或
结果集
关联的数据库连接调用
close()
后,您正在执行语句或对
结果集
进行迭代。在执行语句或遍历结果之前,不要关闭连接。堆栈跟踪将告诉您在错误的时刻在代码的何处执行操作。