I'm merely aware of its existence. I've never used jTDS (or SQL Server) but just
wanted to let you know about a potential alternative...

Quoting Derek Mahar <[EMAIL PROTECTED]>:

> Thank you for the referral!  Does the jTDS driver correctly implement
> PreparedStatement.setObject(index, null) (i.e. set the selected SQL parameter
> to NULL)?  Have you encountered any serious flaws using this driver?
> 
> Derek
> 
> -----Original Message-----
> From: Kris Schneider [mailto:[EMAIL PROTECTED] 
> Sent: May 20, 2004 2:57 PM
> To: Tag Libraries Users List
> Subject: RE: [JSTL] How do I enter a null value with <sql:param>?
> 
> 
> On a slightly different topic, how about trying a different driver:
> 
> http://jtds.sourceforge.net/
> 
> Quoting Derek Mahar <[EMAIL PROTECTED]>:
> 
> > I need to clarify the first statement that I made in my previous post 
> > (see below).  I claim that parameter sqlType in method 
> > PreparedStatement.setNull(int parameterIndex, int sqlType) is 
> > redundant because a NULL SQL parameter has no intrinsic type.  A NULL 
> > SQL value applies to any column type, so it is unnecessary to identify 
> > its type.
> > 
> > Derek
> > 
> > -----Original Message-----
> > From: Derek Mahar
> > Sent: May 20, 2004 2:08 PM
> > To: Tag Libraries Users List
> > Subject: RE: [JSTL] How do I enter a null value with <sql:param>?
> > 
> > 
> > Thank you.  I appreciate your attention and quick response.
> > 
> > After reading JDBC Specification Section 13.2.2.3, Setting NULL 
> > Parameters, I understand now why Kris suggested that the JSTL 
> > specification add the sqlType attribute to <sql:param>:  method 
> > PreparedStatement.setNull(int parameterIndex, int sqlType) requires 
> > the type of the parameter that you want to set to NULL.  However, why 
> > does method setNull require this parameter?  A NULL parameter has no 
> > intrinsic type!  In order to determine the "type" of a NULL parameter, 
> > you must consider its expression or assignment context.  That is, in 
> > order to determine the "type" of a NULL parameter, must consider the 
> > type of the column to which you are assigning the parameter in a SET 
> > clause or the column or literal value to which you are comparing the 
> > parameter in a WHERE clause.  Or, you must assign it a type using a 
> > new attribute like sqlType.
> > 
> > According to JDBC Specification Section 13.2.3, Describing Outputs and 
> > Inputs of a PreparedStatement Object, 
> > ParameterMetaData.getParameterMetaData(int
> > param) returns the type of each parameter in a parameterized query.  What
> > "type" does this method return for a NULL parameter?  If it does, in fact,
> > return a NULL parameter's contextual type, then I can change the
> <sql:param>
> > implementation so that it invokes PreparedStatement.setNull instead of
> > PreparedStatement.setObject for NULL parameters.  Otherwise, I cannot see
> how
> > I can supply setNull with a correct "type".  Consequently, I'll just have
> to
> > wait for Microsoft to fix its JDBC driver so that it correctly handles the
> > case PreparedStatement.setObject(index,null).
> > 
> > Derek
> > 
> > -----Original Message-----
> > From: Justyna Horwat [mailto:[EMAIL PROTECTED]
> > Sent: May 20, 2004 1:10 PM
> > To: Tag Libraries Users List
> > Subject: Re: [JSTL] How do I enter a null value with <sql:param>?
> > 
> > 
> > Derek,
> > 
> > I forwarded your comments to the JDBC specification lead. He said that
> > now is a good time to bring up all of these annoyances in the 
> > specification. He will look into clarifying this area in the upcoming 
> > version of the spec.
> > 
> > Thanks,
> > 
> > Justyna
> > 
> > Derek Mahar wrote:
> > 
> > > After reading Section 17.7 of the JDBC specification (available at 
> > > http://java.sun.com/products/jdbc/download.html), I now agree that 
> > > there is a problem with the Microsoft SQL JDBC driver, but there is 
> > > also a problem with the official Java JDBC API documentation that 
> > > does not mention how PreparedStatement.setObject() handles the case 
> > > PreparedStatement.setObject(index, null).  I guess we should ask Sun 
> > > to correct (or complete) its JDBC API documentation and I need to 
> > > ask Microsoft to fix its JDBC driver.
> > > 
> > > However, I still need to fix my problem now.  So, as I have Standard 
> > > Tag Library source code, but do not have the source of the Microsoft 
> > > SQL Server JDBC driver, I will likely change the <sql:param> 
> > > implementation so that it invokes PreparedStatement.setNull() when 
> > > it receives a null value.  Here is a perfect case where having 
> > > source code is of tremendous benefit.
> > > 
> > > Thank you for pointing me in the right direction and being patient 
> > > with my posts as I worked through my problem.
> > > 
> > > Derek
> > > 
> > > -----Original Message-----
> > > From: Wolfgang Röckelein 
> > > [mailto:[EMAIL PROTECTED]
> > > Sent: May 19, 2004 10:40 AM
> > > To: Tag Libraries Users List
> > > Subject: Re: [JSTL] How do I enter a null value with <sql:param>?
> > > 
> > > 
> > > Keith wrote:
> > > 
> > >>This was on the Users list and was my problem. But mine had to do
> > >>specifically with the <sql:dateParam> and the Oracle JDBC driver. The 
> > >>regular <sql:param> worked fine for me when I passed it a null value.
> > >>
> > >>Link to the starting thread in the archive: 
> > >>http://www.mail-archive.com/[EMAIL PROTECTED]/msg06748
> > >>.h
> > >>tml
> > > 
> > > 
> > > Thanks for digging this out. Both problems boil down to the case 
> > > that "when setObject(index, null) is passed in a null value this 
> > > should be
> > converted
> > > by the driver to an SQL null" does not work with the JDBC driver 
> > > (perhaps
> > only
> > > for certain data types, which could be the cause why you see it only 
> > > with
> > > <sql:dateParam>). From my experience I know that the MS SQL JDBC driver
> > has/had
> > > problems in this area...
> > > 
> > > Regards,
> > >    Wolfgang
> 
> -- 
> Kris Schneider <mailto:[EMAIL PROTECTED]>
> D.O.Tech       <http://www.dotech.com/>

-- 
Kris Schneider <mailto:[EMAIL PROTECTED]>
D.O.Tech       <http://www.dotech.com/>

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

Reply via email to