在访问MySQL数据库时,我在eclipse中遇到了SQL异常。我连接到数据库,但它提供了一个例外,即" lower_case_tables_names"。我检查了mysql选项,并将lower_case_tables_names选项更改为1和2,但仍然无法解决问题。我该怎么办?
try {
System.out.println("DBMS connection established");
Class.forName("com.mysql.jdbc.Driver");
connection = (Connection) DriverManager.getConnection(
"jdbc:mysql://127.0.0.1:3306/test",
"root", "");
System.out.println("Database connection provided");
stmt = (Statement) connection.createStatement();
System.out.println("You can execute sql comments");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
以下是例外:
java.sql.SQLException: Unknown system variable 'lower_case_table_names' at
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:998) at
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3847) at
com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3783)
答案 0 :(得分:1)
您似乎在“my.cnf”文件中使用旧方法设置变量。
set-variable = lower_case_table_names=1
以上样式对于MySql server 5.6来说是旧的。 对于此版本,您必须指定为(在[mysqld]部分下)
lower_case_table_names=1
重新启动MySql并检查。
如果您仍无法修复,请提供“my.cnf”文件的详细信息。
答案 1 :(得分:1)
一种选择是更改sql connector
的版本。
我也有同样的问题,我将sql connector
从5.1.38
更改为5.1.21
,现在它正在运作。
答案 2 :(得分:0)
我遇到了完全相同的问题,将mysql连接器版本更改为5.1.5并且现在完全正常工作。