Sql Server和TDS:如何检索blob?

时间:2014-03-21 19:39:59

标签: sql-server

在使用Tabular Data Stream(TDS 7+)检索数据时,我遇到了检索blob(例如Image类型)的麻烦。虽然记录包含3个图像(每个20+ KB大小),但行数据仅包含4096(textPtr为0000 00 00,LONG数据长度)每个图像的字节数(与最大包长度相同)。

我应该设置一些东西来检索带有行数据的大对象,还是可以找出剩下的一些数据并用TDS检索它?我有[MS-TDS].pdfFreeTDS来源,但无法确定如何使用blob。

P.S。由于信誉点不足而Tabular-data-stream被其他内容占用,我无法创建新的tds代码。因此,我无法在标签中更具体,只有sql-server

1 个答案:

答案 0 :(得分:0)

找到在Row Token中接收完整blob的解决方案:在登录数据包fODBC中将OptionFlags2标志设置为ON。来自MS-TDS.pdf

  

fODBC:设置客户端是否为ODBC驱动程序。这导致服务器   将ANSI_DEFAULTS设置为ON,将IMPLICIT_TRANSACTIONS设置为OFF,TEXTSIZE设置为   0x7FFFFFFF(2GB)(TDS 7.2及更早版本),TEXTSIZE为无限   (在TDS 7.3中引入),并且ROWCOUNT为无限。