Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.014 c
7-59956
Sour
2003-03-22 09:55
2003.05.19
Как убить процесс(ы), зная каким файлом они запускались


1-59666
tytus
2003-05-03 09:04
2003.05.19
Моя кнопка (Код прилагается)


3-59577
Oleg M
2003-04-27 00:29
2003.05.19
Формат даты в запросах


1-59685
lightix
2003-05-07 16:31
2003.05.19
Вопрос по QReport


1-59702
miha po
2003-05-07 22:36
2003.05.19
АХТУНГ !!! ХЕЛП !!! qtintf70.dll домагаеться...




   Наверх