-----Mensaje original-----
De: Keith [mailto:[EMAIL PROTECTED] 
Enviado el: Viernes, 16 de Abril de 2004 11:52 a.m.
Para: Tag Libraries Users List
Asunto: Re: More SQL Date problems

Alright. Thanks a lot, everyone! I'll be contacting Oracle Support next week
to see about 
getting the issue resolved. :)

Keith


---------- Original Message -----------
From: Justyna Horwat <[EMAIL PROTECTED]>
To: Tag Libraries Users List <[EMAIL PROTECTED]>
Sent: Fri, 16 Apr 2004 11:24:32 -0700
Subject: Re: More SQL Date problems

> Keith,
> 
> That's why they have the compatibility tests to avoid the very problem 
> that you are seeing with the Oracle driver. This is definitely a bug in 
> Oracle's driver implementation that needs to be fixed.
> 
> Justyna
> 
> Keith wrote:
> 
> >So this is something in the Oracle JDBC driver that needs to be fixed?
Just wondering 
> >whether I have to watch for a new JDBC driver or the next JSTL update to
solve the 
> >problem.
> >
> >Right now I'm using a workaround similar to what Hans showed me and
things are working 
> >fine. Just may be confusing for whoever may take over for me in the
future if they 
don't 
> >know about the problem.
> >
> >Thanks!
> >
> >Keith
> >
> >
> >---------- Original Message -----------
> >From: Justyna Horwat <[EMAIL PROTECTED]>
> >To: Tag Libraries Users List <[EMAIL PROTECTED]>
> >Sent: Fri, 16 Apr 2004 09:54:13 -0700
> >Subject: Re: More SQL Date problems
> >
> >  
> >
> >>Hans,
> >>
> >>I looked into the SQL problem and consulted with the JDBC specification 
> >>lead, Jonathan Bruce. Jonathan said that what JSTL is doing is correct: 
> >>when setObject(index, null) is passed in a null value this should be 
> >>converted by the driver to an SQL null.
> >>
> >>This behavior is in fact enforced as part of the J2EE compatibility in 
> >>the CTS. The JDBC Driver Test Suite is publicly accessible and can be 
> >>used to weed out the JDBC drivers that are not compatible.
> >>
> >>Thanks,
> >>
> >>Justyna
> >>
> >>Hans Bergsten wrote:
> >>
> >>    
> >>
> >>>Wolfgang Röckelein wrote:
> >>>
> >>>      
> >>>
> >>>>Hi,
> >>>>
> >>>>at JDBC level there are two different possibilities to set a 
> >>>>parameter value to null: with setNull and setting to null. Depending 
> >>>>on the driver sometimes only on of these methods work, and when it 
> >>>>does not work, you see the "java.sql.SQLException: Invalid column 
> >>>>type" error you see.
> >>>>
> >>>>I think this was already changed or discussed sometime during the 
> >>>>standard taglib development.
> >>>>        
> >>>>
> >>>Right. I was looking at the code for JSTL in the CVS archive, and it
> >>>calls setObject(index, null) when passed a null value, and there's a
> >>>comment that this should be converted by the driver to an SQL null.
> >>>Browsing through the JDBC JavaDocs and the JDBC spec, there seems to
> >>>be some support for this claim, but it's not 100% clear. It's possible
> >>>that the driver Keith is using doesn't handle it, and maybe it would
> >>>be better if JSTL used setNull(). The reason it doesn't is that it
> >>>would required additional type info for the <sql:param> case.
> >>>
> >>>Pierre, this may be something to look at again for JSTL.next.
> >>>
> >>>Keith, a work-around for this would be:
> >>>
> >>>  <fmt:parseDate value="${param.dob}" var="parsed_dob"
> >>>    pattern="dd-MM-yyyy" />
> >>>
> >>>  <c:choose>
> >>>    <c:when test="${!empty parsed_dob}">
> >>>      <sql:update>
> >>>        INSERT INTO resource_registry (resource_id, dob)
> >>>          VALUES (res_id_seq.NEXTVAL, ? )
> >>>        <sql:dateParam value="${parsed_dob}" type="date"/>
> >>>      </sql:update>
> >>>    </c:when>
> >>>    <c:otherwise>
> >>>        INSERT INTO resource_registry (resource_id)
> >>>          VALUES (res_id_seq.NEXTVAL)
> >>>      </sql:update>
> >>>    </c:otherwise>
> >>>  </c:choose>
> >>>
> >>>If the real case involves many parameters that may be null, this
> >>>gets ugly, but if it's just this one, it may be okay.
> >>>
> >>>Hans
> >>>      
> >>>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>For additional commands, e-mail: [EMAIL PROTECTED]
> >>    
> >>
> >------- End of Original Message -------
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >  
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
------- End of Original Message -------


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to