From: t. <tan...@qq...> - 2013-05-31 01:57:09
|
i use sql server image field to store a file, for example inte.exe ,it's have 500M and more,i store it by setbinarystream,but i use getbinarystream to retreive image field,just 8k retreived. please help me ODBCXX_STREAM* bitmigStream = result->getBinaryStream("bitmig"); if (bitmigStream->good()) { std::ofstream outExe; outExe.open("d:\\i.exe",std::ios::out|std::ios::binary); if (outExe.good()) { char Buffer[1024]; while (true) { ZeroMemory(Buffer,sizeof(Buffer)); int readed = odbc::readStream(bitmigStream,Buffer,sizeof(Buffer)); if (!bitmigStream->eof()) { outExe.write(Buffer,readed); } else { break; } } outExe.flush(); outExe.close(); } } |