¾î¶»°Ô BLOB¸¦ °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù.?

ÀÌÁø ´ëÇü °³Ã¼ (BLOB) (¿¹: ´Ù¾ç ÇÑ ¹æ¹ýÀ¸·Î °Ë»öÇÒ ¼ö ÀÖ½À´Ï´Ù. DBTYPE_BYTES ¸¦ »ç¿ë ÇÏ ¿© BLOB ¹ÙÀÌÆ®ÀÇ ½ÃÄö½º·Î °Ë»ö Çϰųª ISequentialStream°°Àº ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ÂüÁ¶ BLOB ¹× OLE °³Ã¼¿¡¼­ OLE DB ÇÁ·Î±×·¡¸Ó¿ë ÂüÁ¶¡£

´ÙÀ½ Äڵ忡¼­´Â ISequentialStreamÀ» »ç¿ë ÇÏ ¿© BLOB¸¦ °Ë»ö ÇÏ´Â ¹æ¹ýÀ» º¸¿© ÁÝ´Ï´Ù. ¸ÅÅ©·Î BLOB_ENTRY ¸¦ »ç¿ë Çϸé ÀÎÅÍÆäÀ̽º¿Í ÀÎÅÍÆäÀ̽º¿¡ »ç¿ë µÇ´Â Ç÷¡±×¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. Å×À̺íÀ» ¿¬ ÈÄ ÄÚµå È£Ãâ Àб⠹ݺ¹ ISequentialStream BLOB¿¡¼­ ¹ÙÀÌÆ®¸¦ ÀÐÀ» ÇÕ´Ï´Ù. ¸±¸®½º ´ÙÀ½ ·¹Äڵ带 ±¸ÇÏ´Â MoveNext ¸¦ È£Ãâ Çϱâ Àü¿¡ ÀÎÅÍÆäÀ̽º Æ÷ÀÎÅÍÀÇ Æó±â¸¦ È£Ãâ ÇÏ´Â Äڵ塣

cCategories Ŭ·¡½º
{
°ø°³:
   ISequentialStream * pPicture;

BEGIN_COLUMN_MAP(CCategories)
   BLOB_ENTRY (4, IID_ISequentialStream, STGM_READ, pPicture)
END_COLUMN_MAP()
};

CTablelt;CAccessor <CCategories> > ¹üÁÖ;
ULONG cb;
¹ÙÀÌÆ® myBuffer [65536];

Ä«Å×°í¸®ÀÔ´Ï´Ù.¿ÀÇ (¼¼¼Ç, "Ä«Å×°í¸®");
µ¿¾È (Ä«Å×°í¸®.MoveNext() = S_OK)
{
   ¸¶
   {
      categories.pPicture-> Àбâ (myBuffer, 65536, & cb);
      / / ¹öÆÛ¿Í ÇÔ²² ¹º°¡ ÇÒ
   } (cb > 0); Çϸ鼭
   categories.pPicture-> Release();
}

Index