【发布时间】:2019-09-23 11:25:29
【问题描述】:
我在尝试获取数据库连接时收到 InvalidConnectionAttributeException。
import java.sql.*;
public class JdbcTest {
public static void main (String[] args) throws SQLException {
Connection con= null;
Statement st= null;
ResultSet rs= null;
try {
// get connection to database
con= DriverManager.getConnection("jdbc:mysql://localhost:3306/demo", "st", "st");
System.out.println("Connection has created successfuly !");
// create a statement
st= con.createStatement();
// Execute sql query
rs= st.executeQuery("SELECT * FROM demo.employees;");
// process the result set
while (rs.next()) {
System.out.println(rs.getString("last_name")+", "+rs.getString("first_name"));
}
con.close();
}
catch (Exception exc){
exc.printStackTrace();
}
}
}
这是我的程序的输出:
at java.sql.DriverManager.getConnection(Unknown Source)
at JdbcTest.main(JdbcTest.java:15)
Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Maroc' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85)
at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:132)
at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2243)
at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2267)
at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1319)
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:966)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:825)
... 6 more
有人能告诉我问题是什么吗?谢谢。
【问题讨论】: