Re: Empty VARCHAR parameters converted to NULL
Frediano Ziglio <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <CAHt6W4cZbXoO_JKHxbunVriTosR45+cHed0EY40WdwaLAt7URA@mail.gmail.com> |
I was looking at this issue. The problem raise when you want a return value but you want to pass a empty or a NULL varchar. How to differentiate in this case? value cannot be NULL for return parameters. Frediano 2016-01-19 18:25 GMT+00:00 Joshua Lang <[email protected]>: > I've read that older versions didn't even support passing 0-length data > (prior to TDS 7.0 I believe). If this could be supported for later versions > of TDS 7.0, that would be great. > > Thanks. > > On Tue, Jan 19, 2016 at 2:52 AM, Frediano Ziglio <[email protected]> wrote: > >> 2016-01-16 1:41 GMT+00:00 Joshua Lang <[email protected]>: >> > In the latest version of FreeTDS-dblib (0.95.79) I'm passing rpc VARCHAR >> > parameters of 0 length, but non-NULL (empty strings). FreeTDS seems to >> turn >> > these into NULL values before passing them on to SQL Server. From what >> I've >> > read, it seems as if older databases didn't support passing empty >> strings, >> > but newer ones do? (i.e. TDS 7.0+ do support empty strings). >> > >> > It seems as this is a known issue, but I was wondering if it is possible >> to >> > fix it for the newer versions of SQL server? E.g. in dbrpcparam() >> passing a >> > non-NULL pointer to the 'value' parameter and a 0 to 'datalen' would >> > indicate an empty string is desired if possible. >> > >> > Thoughts? >> >> >> The main problem is not libTDS (the code library) but dbrpcparam >> specification. >> datalen < 0 is invalid for variable fields (like VARCHAR) and 0 is used >> for NULL >> value (no matter the data pointer). But looks like your suggestion >> (not NULL value >> and 0 datalen) could be a good choice. >> Not sure however if this could work with all types and server versions >> (for instance >> 0 size TEXT). >> We can do it but I'm not thinking about backporting it to 0.95. >> >> Frediano >> _______________________________________________ >> FreeTDS mailing list >> [email protected] >> http://lists.ibiblio.org/mailman/listinfo/freetds >> > _______________________________________________ > FreeTDS mailing list > [email protected] > http://lists.ibiblio.org/mailman/listinfo/freetds