Текущий архив: 2003.05.19;
Скачать: CL | DM;
ВнизВставка большого файла в базу Access Найти похожие ветки
← →
Arkady (2003-04-28 08:23) [0]Имеется таблица (имя t1) Access 2000 с полем (имя bin), имеющим тип «поле объекта OLE». При выполнении команды t1bin.LoadFromFile(‘c:\filename.dat’), если файл ‘c:\filename.dat’ больше 10Мб, запись в таблицу не производится. Выводится сообщение:
Out of memory.
Затем:
Unexpected variant error.
При файлах до 10 Мбайт информация записывается нормально.
Почему возникают эти ошибки?
← →
Arkady (2003-04-28 09:31) [1]Работа с базой данных через ADO.
t1: TADODataSet;
t1bin: TBlobField
← →
Arkady (2003-04-28 11:26) [2]Никто не сталкивался с подобной проблемой? Может можно воспользоваться каким-то другим методом вставки данных в поле OLE? Теоретически размер двоичных данных в данном поле ограничивается доступным дисковым пространством. Помогите, пожалуйста.
← →
KoluChi (2003-04-28 12:49) [3]Попробуй, сначала прочитать файл в поток, а затем загрузить в BLOB.
Проверь сколько осталось места на диске и свободную оперативную память.
← →
KoluChi (2003-04-28 12:52) [4]function AddFile(FileName: String): Boolean;
var
ArcName: String;
BS: TADOBLOBStream;
FS: TFileStream;
begin
Result := false;
ArcName := ExtractFileName(FileName);
if DatabaseArchiveExists(ArcName) then Exit;
with Query_ADD do
begin
Close();
FS := TFileStream.Create(FileName, fmOpenRead + fmShareDenyNone);
FS.Position := 0;
Parameters.ParamByName("PARAM1").Value := ArcName;
Parameters.ParamByName("PARAM2").LoadFromStream(FS, ftBLOB)
ExecSQL();
Close();
FS.Free();
Result := true;
end;
end;
Страницы: 1 вся ветка
Текущий архив: 2003.05.19;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.006 c