Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Внизкто как хранит документы Word в базе (любой)? Найти похожие ветки
← →
tchn (2004-10-17 00:33) [0]кто как хранит документы Word в базе (любой)?
и как потом их использует?
← →
GanibalLector © (2004-10-17 01:10) [1]А зачем их хранить в базе??? Они себя хорошо чувствуют на винте.
← →
tchn (2004-10-17 01:24) [2]нада!
к примеру, у пользователя нет прав писать на винт.
← →
GanibalLector © (2004-10-17 01:27) [3]к примеру, у пользователя нет прав писать на винт.
от Лукавого все это.
З.Ы. Как-как...в Blob-e тогда.
← →
сергей1 (2004-10-17 10:09) [4]>кто как хранит документы Word в базе (любой)?
да никто их так не хранит, потому-что глупость это. Хранят ссылки на эти файлы. Если-же тебе надо ограничить юзеров в доступе к винту, ну так и закрой право на запись на все, кроме папки с этими файлами
← →
Sergey_Masloff (2004-10-17 10:38) [5]сергей1 (17.10.04 10:09) [4]
>да никто их так не хранит,
Еще как хранят.
← →
tchn (2004-10-17 13:08) [6]да хранят, хранят.
вот и спрашиваю, кто каким способом это делает, как помещает, как извлекает.
← →
YurikGL © (2004-10-17 13:13) [7]
> вот и спрашиваю, кто каким способом это делает, как помещает,
> как извлекает.
См пункт [3]
← →
vv_fran (2004-10-17 13:22) [8]В ДБ создаешь таблицу с полем BLOB и работаешь. Типа так извлекаем в OleConteiner:
try
Screen.Cursor := crHourGlass;
with dmMain.quGetBlob do
begin
Close;
SelectSQL.Clear;
SelectSQL.Add("SELECT BLOBBIN FROM INHFOTO");
SelectSQL.Add("WHERE REC_NO = "+IntToStr(nRecBlob));
Open;
Edit;
A := CreateBlobStream(FieldByName("BLOBBIN"), bmRead);// as TBlobField
A.Position := 0;
B := TMemoryStream.Create;
B.LoadFromStream(A);
B.Position := 0;
B.SaveToFile(gsCurrDir+"Tmpfiles\"+sFileNameBlob);
B.Position := 0;
fuSetMenuBlob;
Blob_Ole.CreateObjectFromFile(gsCurrDirZAGS+"Tmpfiles\"+sFileNameBlob,False);
Blob_Ole.Visible := True;
Close;
end;//with dmMain.quGetBlob
finally
DeleteFile(gsCurrDir+"Tmpfiles\"+sFileNameBlob);
B.Free;
A.Free;
Screen.Cursor := crDefault;
end;//try
И сохраняем:
Blob_Ole.SaveAsDocument(gsCurrDirZAGS+"Tmpfiles\"+sFileNameBlobNew);
with dmMain do begin
quInsert.Close;
quInsert.SQL.Clear;
quInsert.SQL.Add("UPDATE INHFOTO SET ");
quInsert.SQL.Add("BLOBBIN = :BLOBBIN, FILENAME = :FILENAME");
quInsert.SQL.Add("WHERE REC_NO = "+IntToStr(nRec));
quInsert.ParamByName("BLOBBIN").LoadFromFile(gsCurrDirZAGS+"Tmpfiles\"+sFileNameBlobNew)
quInsert.ParamByName("FILENAME").AsString := trim(copy(sFileNameBlobNew,1,100));
try
quInsert.ExecQuery;
Tr_Insert.Commit;
except
Tr_Insert.Rollback;
ShowMessage("Не могу !");
end;
end;//with
← →
malamba (2004-10-18 10:08) [9]КАк-то попробовал засадить пару докуметов в blob-поле Accessa 2000.
А у него нет так нываемого BLOB поля. Есть поле встроенного объекта, которое не удалось взять обычными методами.
Это я к чему: в Accesse Microsoft как всегда наваляла свои заморочки, которые, как бы повежлиее сказать, требуют дополнительных телодвижений.
Видел базу, которая целиком состоит из вуордовских документов.
Размер - за гигабайт.
← →
Submarine (2004-10-18 10:20) [10]Хранить документы, очень просто и нужно, к примеру я храню шаблоны документов в бд. А работать просто, закачивай в блоб поле документ
queryBlob1.LoadFromFile(....)
а когда хочешь его извлечь то соответственно
queryBlob1.SavetoFile(....) и спокойно с ним работай..
← →
Axe (2004-10-19 18:31) [11]Документы в базе хранить не надо !!!
а если хочещь сделать по человечески то напиши
2 програмки клиент и сервер
_____________
причем клиенту юзверь указывает локальный путь до файла Word пищет коментарий и всё такое затем давит на кнопку сохранить(отправить)
_____________
клиент через любой протокол и порт соединяется с сервером через поток переливает пакет бинарных данных на сервер, а сервер кладет эти данные на винт а в базе сохраняет чей файл коментарий к файлу и куда файл сохранён.
________________
мы получили что пользователь не на свой винт не смог записать файл ну а когда достаь файл всё в обратной последовательноси.
← →
vv_fran (2004-10-20 09:20) [12]to Axe - можно и так, но если документы в БД в BLOB, то легче переносить данные с сервера на сервер и защита от несанкционированного доступа повыше.
← →
Submarine (2004-10-20 09:32) [13]>Axe немного сложный путь предлогаешь, да и ненужное, раньше у нас такая же лабуда была, неудобно. Хранение данных в БД наиболее рациональный путь, ведь есть поле Блоб (бинарный), где храниться содержимое файла, и стринговое поле где храниться имя файла, и нет ничего проще, чем извлечь файл и его либо просто отобразить в программе либо сохранить файл на диск.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.037 c