[freetds] BLOB retrieval
Alexis Nikichine
alexis.nikichine at free.fr
Tue May 3 11:09:30 EDT 2005
ZIGLIO, Frediano, VF-IT wrote:
>>Hello,
>>
>>My current business amounts to dumping MS SQLServer tables
>>that, among
>>others, contain TEXT (or NTEXT) data.
>>
>>Of course, they are always longer than the current textsize ;-)
>>
>>I was happy enough to find that the associated text-pointer
>>is returned
>>in the BLOBINFO data structure, for each blob column.
>>I still need to know the length of that BLOB, so I can :
>>
>> SET TEXTSIZE @size_large_enough
>>
>>and then :
>>
>> READTEXT Table.column @the_pointer 0 @size
>>
>>My current guess is that I should augment the selected column with
>>DATALENGTH( blob_column1), DATALENGTH( blob_column2 ) ...
>>which does not seems to be such a good idea, since automatically
>>patching SQL requests in such a way sounds hard to me.
>>Besides, I need
>>to know those column names in advance.
>>
>>Thanks for any help,
>>
>>
>I really don't understand.A simple "select * from table" isn't enough
>??
>
>
Well, it seems to me that it isn't, and if it were, what would be the
use of that BLOBINFO struct ?
As said in the FAQ (
http://www.schemamania.org/projects/freetds/doc/htdoc/faq.html#textdata )
"The maximum data length of a text column is governed by the textsize
variable on the server", or the text field is truncated to that maximum
size. My BLOBs can sometimes be huge things, but sometimes not, and I am
reluctant to systematically
SET TEXTSIZE @insanely_large_value
without knowing that such a large value will be necessary (worried about
memory consumption, you see).
I hope I am clarifying things a bit, and reiterates: is there another
way than patching the request to reach the size of Blob fields ?
Thanks again,
Alexis
More information about the FreeTDS
mailing list