【问题标题】:Upgrading from MySQL 4.7 to 5.5, problematic date fields从 MySQL 4.7 升级到 5.5,有问题的日期字段
【发布时间】:2013-10-02 14:02:27
【问题描述】:

我在从 JSP 页面(不是我的应用程序)运行 SQL 的旧应用程序中收到此错误:

java.sql.SQLException: Value '7Some text from a field123133 2001-09-2012001-10-01 08:37:1910000-00-00 00:00:00' 不能表示为 java.sql.Timestamp

看起来这些字段是连接在一起的,这就是时间戳(以及日期和日期时间)试图破译的内容。如果我在 mysql 客户端中运行查询并且删除所有日期、日期时间和时间戳字段,则一切正常。运行 executeQuery(query) 时会发生这种情况。

我做了什么:

  • mysqldump 旧数据库
  • 导入到新的
  • 将旧的mysql驱动改成mysql-connector-java-5.1.26-bin.jar
  • 删除了所有旧的 jdbc 库
  • tomcat 在 java 1.7 上运行

我猜这是库的问题。

  • apache-tomcat-7.0.42
  • 5.5.32-0ubuntu0.12.04.1 (Ubuntu)
  • jdk1.7.0_15

这里是 tomcat/lib:

activation.jar catalina-tribes.jar el-api.jar jmxtools.jar Naming-factory.jar poolman.xml tomcat-i18n-es.jar annotations-api.jar commons-codec-1.4.jar hssf-serializer.jar jsp-api.jar NetComponents.jar servlet-api.jar tomcat-i18n-fr.jar catalina-ant.jar cos.jar jasper-el.jar log4j.jar pg73jdbc3.jar tomcat-api.jar tomcat-i18n-ja.jar catalina-ha.jar dnsjava.jar jasper.jar mail.jar poi-hssf.jar tomcat-coyote.jar tomcat-jdbc.jar catalina.jar ecj-4.2.2.jar jmxri.jar mysql-connector-java-5.1.26-bin.jar poolman.jar tomcat-dbcp.jar tomcat-util.jar

还有一些在 WEB-INF/lib 中:

fop.jar jce1_2_1.jar jsse.jar NetaxeptClientVirtual.jar soap.jar w3c.jar xerces.jar

感谢您的帮助!

【问题讨论】:

    标签: java mysql jsp


    【解决方案1】:

    添加

    ?zeroDateTimeBehavior=convertToNull

    到连接 URL 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2012-11-22
      • 2013-11-21
      • 2017-01-07
      • 1970-01-01
      • 1970-01-01
      • 2013-12-08
      • 2012-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多