SQL 2008 и ошибка 22018 при вставке большого BLOB-а.
От: blonduser  
Дата: 22.06.16 08:33
Оценка:
Всем доброго времени суток!

Через OLE DB вставляю в таблицу с использование хранимой процедуры файл большого размера.

Размер файла 200 МБ, то вставка завершается успешно.
Размер файла 300 МБ и больше, то вставка завершается с ошибкой "SQLErrorInfo: 22018".

Пример кода

_variant_t        objectInfo[3];

objectInfo[0] = _variant_t((long)1000); // ID
objectInfo[1] = _variant_t(TEXT("FileName.TXT")); 

        SAFEARRAY sar;

sar.cbElements = sizeof(BYTE);
sar.cDims = 1;
sar.cLocks = 1;
sar.pvData = pByte; // указатель на массив байт.
sar.fFeatures = FADF_FIXEDSIZE;
sar.rgsabound[0].lLbound = 0;  
sar.rgsabound[0].cElements = (ULONG)ullSize; // размер

objectInfo[2].vt = VT_ARRAY|VT_UI1;
objectInfo[2].parray = &sar;


Как избавится от ошибки и записать файл объемом больше 300 МБ?

Спасибо.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.