[freetds] dbbind funny

Thompson, Bill D (London) bill_d_thompson at ml.com
Fri Jun 11 09:33:44 EDT 2004


James,

> There's another bugaboo in this neighborhood that'd be nice to fix.  
> When freebcp encounters a data conversion error, its most common 
> message is 20073 (Attempt to bulk-copy a NULL value).  
> What's happening is that dbconvert() fails, meaning that destlen is 0, 
> causing the "converted" data to be nil, which is then sent to the server.

> The server obviously sees zero-length data as null, and complains. 
>  Unless the column is nullable, that is, in which case you, er, merely
lose your data.  

Not any more, my friend.
A conversion error is now reported as such. 
The "Attempt to bulk-copy a NULL..." message now only occurs in genuine
circumstances.
In neither case do the rows of data get anywhere near the server...

Bill


> -----Original Message-----
> From:	Lowden, James K [SMTP:LowdenJK at bernstein.com]
> Sent:	10 June 2004 17:48
> To:	FreeTDS Development Group
> Subject:	RE: [freetds] dbbind funny
> 
> > [mailto:freetds-bounces at lists.ibiblio.org]On Behalf Of 
> > Thompson, Bill D
> > Sent: June 10, 2004 11:09 AM
> > 
> > It turns out many of the unittests use -1 as a "varlen" parameter to
> > dbbind().
> > 
> > t0001.c:        if (SUCCEED != dbbind(dbproc, 2, STRINGBIND, 
> > -1, (BYTE *)
> > teststr)) {
> ...
> > any ideas on this ?
> 
> Looks like an improvement, Bill.  For fixed types, of course, varlen is
> ignored.  But, yup, I don't find any documented support for a varlen of
> -1.  Should be zero.  
> 
> Thanks for correcting this.  
> 
> There's another bugaboo in this neighborhood that'd be nice to fix.  When
> freebcp encounters a data conversion error, its most common message is
> 20073 (Attempt to bulk-copy a NULL value).  What's happening is that
> dbconvert() fails, meaning that destlen is 0, causing the "converted" data
> to be nil, which is then sent to the server.  The server obviously sees
> zero-length data as null, and complains.  Unless the column is nullable,
> that is, in which case you, er, merely lose your data.  
> 
> Don't know if your fixes address anything in this vicinity, but I thought
> I should mention it.  
> 
> Regards, 
> 
> --jkl
> 
> -----------------------------------------
> The information contained in this transmission may contain privileged and
> confidential information and is intended only for the use of the person(s)
> named above. If you are not the intended recipient, or an employee or
> agent responsible for delivering this message to the intended recipient,
> any review, dissemination, distribution or duplication of this
> communication is strictly prohibited. If you are not the intended
> recipient, please contact the sender immediately by reply e-mail and
> destroy all copies of the original message. Please note that we do not
> accept account orders and/or instructions by e-mail, and therefore will
> not be responsible for carrying out such orders and/or instructions.
> If you, as the intended recipient of this message, the purpose of which is
> to inform and update our clients, prospects and consultants of
> developments relating to our services and products, would not like to
> receive further e-mail correspondence from the sender, please "reply" to
> the sender indicating your wishes.  In the U.S.: 1345 Avenue of the
> Americas, New York, NY 10105.
> 
> 
> _______________________________________________
> FreeTDS mailing list
> FreeTDS at lists.ibiblio.org
> http://lists.ibiblio.org/mailman/listinfo/freetds

==============================================================================

If you are not an intended recipient of this e-mail, please notify
the sender, delete it and do not read, act upon, print, disclose,
copy, retain or redistribute it.

Click here for important additional terms relating to this e-mail.
     <http://www.ml.com/email_terms/>

==============================================================================




More information about the FreeTDS mailing list