Re: How to fetch data from uniqueidentifier field?

Velichko Yuriy <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Message-ID <CAN=WvWsHhiFtmsEnphbW9wcMBOyo_CRQuJUmV2XEgYRQBuX46A@mail.gmail.com>
1 Sorry for the unformatted code, the mail was sent accidentally.
2 The crash was fixed by reserving more space for buffer.


On 22 January 2014 19:28, Velichko Yuriy <[email protected]> wrote:

> Unfortunately, using if function dbconvert leads to crash of my
> application. At this time I can't figure out the reason.
>
> I use similar code to transform datatypes fetched from the server. For
> UniqueIdentifier it looks like:
>
> int dataLength  = dbdatlen( mpConn, i + 1 );
> int dataLength  = dbdatlen( conn, colIndex );
>
>             BYTE* msData    = dbdata( conn, colIndex );
>
>             if( msData == NULL )
>             {
>                 // BREAK
>             }
>             else
>             {
>                 switch( fldDataType )
>                 {
>
> case UniqueIdentifier :
>
> {
>
> if( !dbwillconvert( 36, SYBCHAR ) )
>
>                             break;
>
>
>
>                         BYTE* charData = new BYTE[ dataLength ];
>
>                         dbconvert( conn, 36, msData, dataLength, SYBCHAR,
> charData, ( DBINT ) -1 );
>
>
>                         AddValue( MyString( ( char *) charData ) );
>
>
>
>                         delete [] charData;
>
> }
>
> }
>
> }
>
> ........
>
> If I comment this pice of code the app works fine. In other case it
> crashes on processing large amount of data.
>
>
> On 22 January 2014 16:59, Velichko Yuriy <[email protected]> wrote:
>
>> Please accept my apologies for the silly question. I was confused the
>> lack of a macro for this data type  in the documentation and I thought that
>> it is not supported.
>>
>> dbconvert - performs converting properly.
>>
>>
>> On 22 January 2014 16:24, Frediano Ziglio <[email protected]> wrote:
>>
>>> Did you try dbconvert ??
>>>
>>> Frediano
>>>
>>> 2014/1/22 Velichko Yuriy <[email protected]>:
>>> > I found the SQL solution for this issue:  CAST or CONVERT functions.
>>> > But question still valid - is there a way to convert data by the
>>> freetds
>>> > lib API?
>>> >
>>> >
>>> > On 22 January 2014 12:13, Velichko Yuriy <[email protected]>
>>> wrote:
>>> >
>>> >> Hello!
>>> >>
>>> >> Point me please how to proper fetch data from uniqueidentifier field.
>>> >> The function
>>> >>
>>> >> dbcoltype()
>>> >>
>>> >> returns 36 for this datatype. How I can convert the data of such type
>>> to
>>> >> the string representation?
>>> >>
>>> >> Here
>>> >>
>>> >> http://lists.ibiblio.org/pipermail/freetds/2009q3/024815.html
>>> >>
>>> >> I found the similar question but can't to find the answer.
>>> >>
>>> >> --
>>> >> Best Regards!
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > Best Regards!
>>> > _______________________________________________
>>> > FreeTDS mailing list
>>> > [email protected]
>>> > http://lists.ibiblio.org/mailman/listinfo/freetds
>>> _______________________________________________
>>> FreeTDS mailing list
>>> [email protected]
>>> http://lists.ibiblio.org/mailman/listinfo/freetds
>>>
>>
>>
>>
>> --
>> Best Regards!
>>
>
>
>
> --
> Best Regards!
>



-- 
Best Regards!
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.