Re: Bad Value for Data Type Timestamp

From: Dave Cramer <pg(at)fastcrypt(dot)com>
To: Jonathan Vallar <jonathan(dot)vallar(at)gmail(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Bad Value for Data Type Timestamp
Date: 2006-02-28 12:03:53
Message-ID: E6920CFA-9CCD-4FE5-BC60-8B2B07574899@fastcrypt.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Jonathan,

It means that the data in the timestamp column, or what it thinks is
the timestamp column is not formatted correctly as a timestamp.

What you sent as sample data is formatted correctly. So the only
thing I can think of is that the mapping of the columns is not correct.

Have you tried a very simple java program which reads the timestamp
via the jdbc driver without websphere in the middle ?

Dave

On 28-Feb-06, at 5:55 AM, Jonathan Vallar wrote:

> Hi!
>
> The Postgres JDBC driver is being used by IBM Websphere to get data
> from the postgres database. The websphere product also gets
> timestamp data from MS Sql Server.
>
> What does the error mean?
>
>
> Retrieve Operation failed on the BusinessObject Bad value for type
> timestamp : [C ( at ) 56c55d28 Exception:
> java.lang.NumberFormatException: Expected time to be colon-
> separated, got ' Stack Trace: java.lang.NumberFormatException :
> Expected time to be colon-separated, got ' at
> org.postgresql.jdbc2.TimestampUtils.loadCalendar
> (TimestampUtils.java :151) at
> org.postgresql.jdbc2.TimestampUtils.toTimestamp(TimestampUtils.java:
> 307) at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp
> (AbstractJdbc2ResultSet.java:419) at
> org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp
> (AbstractJdbc2ResultSet.java:2088) at
> com.crossworlds.connectors.JDBC.JDBCBOhandler.doContainerRetrieve
> (JDBCBOhandler.java:3697) at
> com.crossworlds.connectors.JDBC.JDBCBOhandler.doRecursiveRetrieve
> (JDBCBOhandler.java:3316) at
> com.crossworlds.connectors.JDBC.JDBCBOhandler.doRetrieve
> (JDBCBOhandler.java:3265) at
> com.crossworlds.connectors.JDBC.JDBCBOhandler.doVerbFor
> (JDBCBOhandler.java:1346) at
> com.crossworlds.cwconnectorapi.CWConnectorBOHandler.doVerbFor
> (CWConnectorBOHandler.java:127) at
> CxCommon.BusinessObject.doVerbFor(BusinessObject.java:2128) at
> com.crossworlds.cwconnectorapi.CWConnectorBusObj.doVerbFor
> (CWConnectorBusObj.java:126) at
> com.crossworlds.connectors.JDBC.JDBCConnectorAgent.pollForEvents
> (JDBCConnectorAgent.java:1137) at
> AppSide_Connector.BusObjJavaInterface.poll(BusObjJavaInterface.java:
> 355) at AppSide_Connector.AppCalls.poll( AppCalls.java:191) at
> AppSide_Connector.AgentBusinessObjectManager.poll
> ( AgentBusinessObjectManager.java:719) at
> AppSide_Connector.AppPolling.poll(AppPolling.java:294) at
> AppSide_Connector.AppPolling.doPollingContinuousWait
> ( AppPolling.java:556) at AppSide_Connector.AppPolling.run
> (AppPolling.java :121) at java.lang.Thread.run(Thread.java:513)
> End of Stack Trace SQLException {2}]
>
>
> On 2/28/06, Dave Cramer < pg(at)fastcrypt(dot)com> wrote:
> There doesn't appear to be anything wrong with the data, and the
> driver can handle that data fine.
>
> Is this code that wraps the driver mapping columns to types ? Have
> you mapped it correctly ?
>
> Dave
> On 28-Feb-06, at 3:42 AM, Jonathan Vallar wrote:
>
> > Hi!
> >
> > Good day!
> >
> > I encountered an error in getting data from a timestamp field
> > datatype. I am using a the JDBC type Driver for Postgres ,
> > version 8.1-405 (8.1-405 JDBC 2). The database run on a Centronix
> > Linux OS and the postgres database version is 8.1.3.
> >
> > Basically the java application gets data from the "xworlds_events"
> > table. The application returns an error in retrieving data from the
> > event_time field.
> >
> > Below is the stacktrace of the java program:
> >
> > Retrieve Operation failed on the BusinessObject Bad value for type
> > timestamp : [C(at)56c55d28 Exception:
> > java.lang.NumberFormatException: Expected time to be colon-
> > separated, got ' Stack Trace: java.lang.NumberFormatException :
> > Expected time to be colon-separated, got ' at
> > org.postgresql.jdbc2.TimestampUtils.loadCalendar
> > (TimestampUtils.java:151) at
> > org.postgresql.jdbc2.TimestampUtils.toTimestamp(TimestampUtils.java:
> > 307) at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp
> > (AbstractJdbc2ResultSet.java :419) at
> > org.postgresql.jdbc2.AbstractJdbc2ResultSet.getTimestamp
> > (AbstractJdbc2ResultSet.java:2088) at
> > com.crossworlds.connectors.JDBC.JDBCBOhandler.doContainerRetrieve
> > (JDBCBOhandler.java :3697) at
> > com.crossworlds.connectors.JDBC.JDBCBOhandler.doRecursiveRetrieve
> > (JDBCBOhandler.java:3316) at
> > com.crossworlds.connectors.JDBC.JDBCBOhandler.doRetrieve
> > (JDBCBOhandler.java:3265) at
> > com.crossworlds.connectors.JDBC.JDBCBOhandler.doVerbFor
> > (JDBCBOhandler.java:1346) at
> > com.crossworlds.cwconnectorapi.CWConnectorBOHandler.doVerbFor
> > (CWConnectorBOHandler.java:127) at
> > CxCommon.BusinessObject.doVerbFor(BusinessObject.java:2128) at
> > com.crossworlds.cwconnectorapi.CWConnectorBusObj.doVerbFor
> > (CWConnectorBusObj.java:126) at
> > com.crossworlds.connectors.JDBC.JDBCConnectorAgent.pollForEvents
> > (JDBCConnectorAgent.java:1137) at
> > AppSide_Connector.BusObjJavaInterface.poll(BusObjJavaInterface.java:
> > 355) at AppSide_Connector.AppCalls.poll( AppCalls.java:191) at
> > AppSide_Connector.AgentBusinessObjectManager.poll
> > (AgentBusinessObjectManager.java:719) at
> > AppSide_Connector.AppPolling.poll(AppPolling.java:294) at
> > AppSide_Connector.AppPolling.doPollingContinuousWait
> > ( AppPolling.java:556) at AppSide_Connector.AppPolling.run
> > (AppPolling.java:121) at java.lang.Thread.run(Thread.java:513)
> > End of Stack Trace SQLException {2}]
> >
> >
> >
> > Below is the schema of the table:
> >
> > wbi_db=> \d xworlds_events;
> > Table "public.xworlds_events"
> > Column | Type | Modifiers
> > ----------------+-----------------------------+-----------
> > event_id | bigint | not null
> > connector_id | character varying(40) |
> > object_key | character varying(80) | not null
> > object_name | character varying(40) | not null
> > object_verb | character varying(40) | not null
> > event_priority | real | not null
> > event_time | timestamp without time zone |
> > event_status | integer |
> > event_comment | character varying |
> >
> >
> >
> > Here is a sample data from the table:
> >
> > wbi_db=> select * from xworlds_events;
> > event_id | connector_id | object_key | object_name |
> > object_verb | event_priority | event_time |
> > event_status | event_comment
> > ----------+--------------+------------+----------------------
> > +-------------+----------------+---------------------------
> > +--------------+---------------
> > 1 | PostgreSQL | 8100000000 | POS_to_SAP_1_WRAPPER |
> > Create | 1 | 2006-02-27 19:51: 22.58118
> > | -1 | Test
> > (1 row)
> >
> > wbi_db=>
> >
> >
> > How can I go about the problem? Is this a bug?
> >
> > Thanks!
> >
> > Regards,
> >
> > Jonathan
> >
> >
>
>

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Kris Jurka 2006-02-28 17:04:36 Re: Bad Value for Data Type Timestamp
Previous Message Jonathan Vallar 2006-02-28 10:55:05 Re: Bad Value for Data Type Timestamp