gpt4 book ai didi

java - JDBC 的难倒 SQL 异常

转载 作者:行者123 更新时间:2023-11-29 01:18:52 27 4
gpt4 key购买 nike

我正在尽我所能让 JDBC 工作,现在唯一让我难过的是这个异常,我不知道:

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '????????????????' at line 1
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1049)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1890)
com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3523)
com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2386)
com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2163)
com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:794)
com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:374)
com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
java.sql.DriverManager.getConnection(libgcj.so.10)
java.sql.DriverManager.getConnection(libgcj.so.10)

我正在使用它来连接...

Class.forName("com.mysql.jdbc.Driver");
DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql", "username", "password");

非常感谢!

最佳答案

那些是相关的部分:

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL
syntax; check the manual that corresponds to your MySQL server version for the
right syntax to use near '????????????????' at line 1
...
com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1890)
...
java.sql.DriverManager.getConnection(libgcj.so.10)

这些问号表示在配置客户端字符集的查询过程中存在严重的字符编码问题。

第一次尝试,打开 my.cnf文件并确保存在以下两个条目:

character_set_server=utf8
collation_server=utf8_general_ci

作为第二次尝试,将 GCJ 替换为 OpenJDKOracle (Sun) JDK哪个更健壮。众所周知,GCJ 有其古怪之处。

关于java - JDBC 的难倒 SQL 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4742927/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com