简体   繁体   English

从MySQL 4.7升级到5.5,有问题的日期字段

[英]Upgrading from MySQL 4.7 to 5.5, problematic date fields

I get this error in a legacy application running SQL from JSP pages (not my app): 我在从JSP页面运行SQL的旧版应用程序(不是我的应用程序)中收到此错误:

java.sql.SQLException: Value '7?Some text from a field123133 2001-09-201?2001-10-01 08:37:191?0000-00-00 00:00:00' can not be represented as java.sql.Timestamp java.sql.SQLException:值'7?field123133 2001-09-201?2001-10-01 08:37:191?0000-00-00 00:00:00的某些文本不能表示为java。 sql.Timestamp

It looks like the fields are concatenated and that is what the timestamp (and date, and datetime) is trying to decipher. 看起来字段是连接在一起的,这就是时间戳(以及日期和日期时间)试图破译的内容。 Everything works fine if I run the query in mysql client and if I remove all date, datetime and timestamp fields. 如果我在mysql客户端中运行查询,并且删除了所有日期,日期时间和时间戳记字段,则一切正常。 This happens when executeQuery(query) is run. 运行executeQuery(query)时会发生这种情况。

What I've done: 我所做的:

  • mysqldump the old database mysqldump旧数据库
  • imported to the new 导入到新
  • changed the old mysql driver to mysql-connector-java-5.1.26-bin.jar 将旧的mysql驱动程序更改为mysql-connector-java-5.1.26-bin.jar
  • removed any old jdbc libraries 删除任何旧的jdbc库
  • tomcat is running on java 1.7 tomcat在Java 1.7上运行

I'm guessing it's a problem with libraries. 我猜这是图书馆的问题。

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

Here's the tomcat/lib: 这是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 activation.jar catalina-tribes.jar el-api.jar jmxtools.jar naming-factory.jar poolman.xml tomcat-i18n-es.jar注解-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

And a few in the WEB-INF/lib: 在WEB-INF / lib中有一些:

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

Thanks for any help! 谢谢你的帮助!

Adding 新增中

?zeroDateTimeBehavior=convertToNull ?zeroDateTimeBehavior = convertToNull

to the connection URL solved the problem. 连接URL即可解决问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM