繁体   English   中英

java.sql.SQLException:尽管具有最新的 JDBC,但系统变量“query_cache_size”未知

[英]java.sql.SQLException: Unknown system variable 'query_cache_size' despite having latest JDBC

我一直在寻找解决这个问题的方法两天了,我终于决定在这里问,因为我完全失去了希望。 我一直在尝试使用我的 Jakarta 服务器连接到 MySQL 数据库。 我遵循了一些教程来让 MySQL 与 JDBC 驱动程序一起工作。 这是代码:

public static void fetchFromDB(String query) {
    try {
        Class.forName( "com.mysql.cj.jdbc.Driver" );
    } catch ( ClassNotFoundException e ) {
        e.printStackTrace();
    }
    try {
        con = DriverManager.getConnection( url, user, password );
        Statement statement = con.createStatement();
        ResultSet result = statement.executeQuery( query );
        System.out.println(result);
    } catch ( SQLException e ) {
        e.printStackTrace();
    } finally {
        if ( con != null )
            try {
                con.close();
            } catch ( SQLException ignore ) {
                ignore.printStackTrace();
            }
    }
}

现在,我安装了 JDBC 8.0.21,MySQL 数据库在 8.0.13-4 中。 尽管有这些版本,我还是不断收到这个错误: java.sql.SQLException: Unknown system variable 'query_cache_size'

老实说,我不知道问题出在哪里。 显然,当 JDBC 和 MySQL 基础版本不兼容时会发生这种情况,但是......我有最新版本!

在此先感谢您的帮助。

query_cache_size参数存在于 MySQL 5.x 中,但根据手册,它在 MySQL 8.0.3 中被删除。

我安装了 JDBC 8.0.21,MySQL 数据库在 8.0.13-4

(我想你的意思是 MySQL Connector/J 8.0.21)。

老实说,我不知道问题出在哪里。

错误将来自数据库,但它只是说参数不再被识别。

它不会由 MySQL Connector/J 驱动程序引起。

这很可能是由于您的应用程序(例如执行SET GLOBAL query_cache_size=...或类似的)或您的应用程序在连接到数据库时使用的 JDBC url 中的一个杂散选项造成的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM