java - SQL 异常 : Too many database connection

标签 java mysql jdbc

<分区>

当我尝试连接到数据库进行查询时,发生异常。 “SQL 异常:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:数据源拒绝建立连接,来自服务器的消息:“连接太多”

public class DBConnection {
   public static java.sql.Connection connect() throws ClassNotFoundException    {

    Connection con = null;
    Class.forName("com.mysql.jdbc.Driver");




    String url = "jdbc:mysql://localhost:3306/dmr";
    String username = "root";
    String password = "root";

    try {
        //            Establishing connection
        con = DriverManager.getConnection(url,username,password);
    } 
    catch (SQLException ex) {
        System.out.println("SQL Exception : "+ ex);
    }


    if(con != null){
        System.out.println("****CONNECT TO THE DATABASE*****");
    }
    else{
        System.out.println("####NOT CONNECT TO THE DATABASE");
    }
    return con;
   }
}

最佳答案

如果您使用本地安装的 MySQL 数据库,请使用以下命令检查当前打开的连接数。

mysql> show status like 'Conn%';
mysql> show status like '%onn%';

要获取进程列表,请使用:mysql> show processlist;

您可以终止不必要的连接。

如果您正在使用由其他方维护的数据库服务器,那么请他们帮助检查并终止不必要的连接。 mySQL 服务器中有属性指定允许的最大连接数。如有必要,您可以增加它。

在 Java 方面,我认为在完成数据库操作后,您应该在 finally block 中调用 con.close。我不确定你是否正在这样做。

关于java - SQL 异常 : Too many database connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43428616/

相关文章:

java - 字符串分割及数据返回问题

java - 简单的 Java 程序 - 分析显示意外行为

java - 对于阻塞集合中的每个

java - Spring boot测试如何使用不同的application.properties进行集成测试

mysql - 如何从结果查询中排除第一行?

php - fatal error : Call to a member function error() on a non-object

java - 更新数据到mysql数据库表失败

java - Java 中的原始类

mysql - 我需要帮助来加快这个 select 语句的速度

java - 从 ireports (Jaspersoft) 连接到 SQlite (Spiceworks) 数据库