IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

JDBC Date Format Error with DB2


IBM Mainframe Forums -> DB2
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
RadhikaMurthy

New User


Joined: 28 Jun 2007
Posts: 1
Location: Hyderabad,India

PostPosted: Fri Jun 29, 2007 5:08 pm
Reply with quote

When working with dates in DB2, I got the following error.

java.lang.IllegalArgumentException: Date/Time must be JDBC format

I have no access to the java application that is used with database. We need to post everything in the form of XML data

Any solution for sorting out the abive problem?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Fri Jun 29, 2007 7:32 pm
Reply with quote

Hello,

Talk with whoever is responsible for the java application and have them describe how the date must be formatted for their use.

From your post it is not clear just where the problem is occurring - it mainframe code having a problem or is the problem elsewhere?

A bit of web search did find this and maybe it will help. . .
Quote:
Re: jdbc date format error
--------------------------------------------------------------------------------

The error message indicates that date1 must be a java.sql Date variable.
If you want to avoid using depreciated functions, you should instantiate
a java.util.Calendar object, set the date (and time) you want, then use
its getTimeInMillis() method to get the value needed to create the
java.sql.Date object. Java dates are based on milliseconds since the
start of the current epoch - Jan 1, 1970 - 00:00:00. Since this is your
default date, you should be able to use:
import java.sql.*;
Date date1 = new Date(0);

Check that this works before using it. On my system, Date(0) gives:
12/31/1969 - 19:00:00
This is probably caused by the offset between GMT and EST.

Calendar c1 - Calendar.getInstance();
c1.set(1970,c1.JANUARY,01,00,00,00);
Date date2 = new Date(c1.getTimeInMillis());

Using the Calendar object creates the 1/1/1970 date you want.

If you also have an import for java.util.*; you will need to use:
java.sql.Date date1 = new java.sql.Date(c1.getTimeInMillis());

Phil Sherman
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> DB2

 


Similar Topics
Topic Forum Replies
No new posts Replacing 'YYMMDD' with date, varying... SYNCSORT 3
No new posts Populate last day of the Month in MMD... SYNCSORT 2
No new posts Error to read log with rexx CLIST & REXX 11
No new posts Error when install DB2 DB2 2
No new posts Modifying Date Format Using DFSORT DFSORT/ICETOOL 9
Search our Forums:

Back to Top