0

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

java.sql.SQLException: 值 '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 命名-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

谢谢你的帮助!

4

1 回答 1

0

添加

?zeroDateTimeBehavior=convertToNull

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

于 2013-10-02T14:22:30.663 回答