Re: AW: mysql date

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Thu Dec 07 2006 - 04:38:56 EST

  • Next message: Andrus Adamchik: "Re: Problem with DB schema generation"

    I could easily reproduce the problem. After that I started poking
    around MySQL forums and found a solution - use "zeroDateTimeBehavior"
    URL parameter, e.g. "jdbc:mysql://localhost/cayenne?
    zeroDateTimeBehavior=convertToNull". Here is a few more relevant links:

    http://forums.mysql.com/read.php?39,43138,43195
    http://dev.mysql.com/doc/refman/5.0/en/connector-j-reference-
    configuration-properties.html

    Andrus

    On Dec 7, 2006, at 10:53 AM, Peter Schröder wrote:

    > here is the exception:
    >
    > java.sql.SQLException: Value '0000-00-00' can not be represented as
    > java.sql.Timestamp
    > at com.mysql.jdbc.ResultSet.getNativeTimestamp(ResultSet.java:3848)
    > at com.mysql.jdbc.ResultSet.getTimestampInternal(ResultSet.java:5488)
    > at com.mysql.jdbc.ResultSet.getTimestamp(ResultSet.java:5146)
    > at
    > org.objectstyle.cayenne.access.types.UtilDateType.materializeObject
    > (UtilDateType.java:117)
    > at
    > org.objectstyle.cayenne.access.jdbc.JDBCResultIterator.readDataRow
    > (JDBCResultIterator.java:327)
    > at
    > org.objectstyle.cayenne.access.jdbc.JDBCResultIterator.nextDataRow
    > (JDBCResultIterator.java:181)
    > at org.objectstyle.cayenne.access.jdbc.JDBCResultIterator.dataRows
    > (JDBCResultIterator.java:151)
    > at org.objectstyle.cayenne.access.jdbc.SelectAction.performAction
    > (SelectAction.java:178)
    > at org.objectstyle.cayenne.access.DataNodeQueryAction.runQuery
    > (DataNodeQueryAction.java:95)
    > at org.objectstyle.cayenne.access.DataNode.performQueries
    > (DataNode.java:309)
    > at org.objectstyle.cayenne.access.DataDomainQueryAction.runQuery
    > (DataDomainQueryAction.java:355)
    > at org.objectstyle.cayenne.access.DataDomainQueryAction.access$000
    > (DataDomainQueryAction.java:96)
    > at org.objectstyle.cayenne.access.DataDomainQueryAction$1.transform
    > (DataDomainQueryAction.java:327)
    > at org.objectstyle.cayenne.access.DataDomain.runInTransaction
    > (DataDomain.java:856)
    > at
    > org.objectstyle.cayenne.access.DataDomainQueryAction.runQueryInTransac
    > tion(DataDomainQueryAction.java:324)
    > at org.objectstyle.cayenne.access.DataDomainQueryAction.execute
    > (DataDomainQueryAction.java:145)
    > at org.objectstyle.cayenne.access.DataDomain.onQuery
    > (DataDomain.java:766)
    > at org.objectstyle.cayenne.util.ObjectContextQueryAction.runQuery
    > (ObjectContextQueryAction.java:253)
    > at org.objectstyle.cayenne.access.DataContextQueryAction.execute
    > (DataContextQueryAction.java:90)
    > at org.objectstyle.cayenne.access.DataContext.onQuery
    > (DataContext.java:1422)
    > at org.objectstyle.cayenne.access.DataContext.performQuery
    > (DataContext.java:1411)
    >
    > -----Ursprüngliche Nachricht-----
    > Von: Andrus Adamchik [mailto:andru..bjectstyle.org]
    > Gesendet: Donnerstag, 7. Dezember 2006 09:50
    > An: cayenne-use..ncubator.apache.org
    > Betreff: Re: mysql date
    >
    >
    > On Dec 5, 2006, at 12:36 PM, Peter Schröder wrote:
    >
    >> hi there,
    >>
    >> first of all the bug-tracking link on page http://
    >> incubator.apache.org/cayenne/how-can-i-help.html is broken :-( but
    >> i found it through google.
    >
    > Thanks for pointing it out. I fixed it on the site - it will be
    > published within an hour.
    >
    >> we have a lot of old data stored in our mysql-database. there are
    >> lots of date-fields with date of '0000-00-00 00:00:00' (which
    >> should in deed be 'null') which cause cayenne to fail on fetching
    >> data-objects, cause it cant convert the date: Value '0000-00-00'
    >> can not be represented as java.sql.Timestamp.
    >> do i have to update all these fields to null, so that cayenne can
    >> work properly?
    >
    > What is the exception? I would assume this is thrown at the driver
    > level, not Cayenne, but if you can provide more details, maybe there
    > is a way for us to create a workaround.
    >
    > Andrus
    >
    >
    >



    This archive was generated by hypermail 2.0.0 : Thu Dec 07 2006 - 04:39:27 EST