当JDBC尝试将MySQL(5.1.51)中的有效日期时间转换为java.sql.timestamp时,将抛出java.sql.sqlException.一个例子是:
java.sql.sqlException: Cannot convert value '2012-04-05 10:20:00' from column 40 to TIMESTAMP
这是第一次
Versions:
MysqL: 5.1.51
J/Connector: 5.1.19
Column DeFinition: DATETIME
Java Type: java.sql.Timestamp
堆栈跟踪:
Cannot convert value '2012-04-05 10:20:00' from column 40 to TIMESTAMP.
at com.MysqL.jdbc.sqlError.createsqlException(sqlError.java:1073)
at com.MysqL.jdbc.sqlError.createsqlException(sqlError.java:987)
at com.MysqL.jdbc.sqlError.createsqlException(sqlError.java:982)
at com.MysqL.jdbc.sqlError.createsqlException(sqlError.java:927)
at com.MysqL.jdbc.ResultSetRow.getTimestampFast(ResultSetRow.java:1335)
at com.MysqL.jdbc.BufferRow.getTimestampFast(BufferRow.java:576)
at com.MysqL.jdbc.ResultSetImpl.getTimestampInternal(ResultSetImpl.java:6466)
at com.MysqL.jdbc.ResultSetImpl.getTimestamp(ResultSetImpl.java:6066)
at com.MysqL.jdbc.ResultSetImpl.getTimestamp(ResultSetImpl.java:6104)
at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:300)
at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:300)
at org.apache.tomcat.dbcp.dbcp.DelegatingResultSet.getTimestamp(DelegatingResultSet.java:300)
最佳答案
您可以通过向JDBC连接URL添加useFastDateParsing = false来禁用快速日期分析.例如,以下可能会解决您的问题:
jdbc:MysqL://yourHostName:3306/yourdbname?useUnicode=true&useFastDateParsing=false&characterEncoding=UTF-8
原文地址:https://www.jb51.cc/mysql/433070.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。