Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

кто как хранит документы Word в базе (любой)?


tchn ©   (2004-10-17 00:33:00) 

кто как хранит документы Word в базе (любой)?
и как потом их использует?


Submarine   (2004-10-20 09:32:00) [1]

>Axe   немного сложный путь предлогаешь, да и ненужное, раньше у нас такая же лабуда была, неудобно. Хранение данных в БД наиболее рациональный путь, ведь есть поле Блоб (бинарный), где храниться содержимое файла, и стринговое поле где храниться имя файла, и нет ничего проще, чем извлечь файл и его либо просто отобразить в программе либо сохранить файл на диск.


vv_fran   (2004-10-20 09:20:00) [2]

to Axe - можно и так, но если документы в БД в BLOB, то легче переносить данные с сервера на сервер и защита от несанкционированного доступа повыше.


Axe   (2004-10-19 18:31:00) [3]

Документы в базе хранить не надо !!!
а если хочещь сделать по человечески то напиши
2 програмки клиент и сервер
_____________
причем клиенту юзверь указывает локальный путь до файла Word пищет коментарий и всё такое затем давит на кнопку сохранить(отправить)
_____________
клиент через любой протокол и порт соединяется с сервером через поток переливает пакет бинарных данных на сервер, а сервер кладет эти данные на винт а в базе сохраняет чей файл коментарий к файлу и куда файл сохранён.
________________
мы получили что пользователь не на свой винт не смог записать файл ну а когда достаь файл всё в обратной последовательноси.


Submarine   (2004-10-18 10:20:00) [4]

Хранить документы, очень просто и нужно, к примеру я храню шаблоны документов в бд. А работать просто, закачивай в блоб поле документ
queryBlob1.LoadFromFile(....)
а когда хочешь его извлечь то соответственно
queryBlob1.SavetoFile(....) и спокойно с ним работай..


malamba   (2004-10-18 10:08:00) [5]

КАк-то попробовал засадить пару докуметов в blob-поле Accessa 2000.
А у него нет так нываемого BLOB поля. Есть поле встроенного объекта, которое не удалось взять обычными методами.

Это я к чему: в Accesse Microsoft как всегда наваляла свои заморочки, которые, как бы повежлиее сказать, требуют дополнительных телодвижений.

Видел базу, которая целиком состоит из вуордовских документов.
Размер - за гигабайт.


vv_fran   (2004-10-17 13:22:00) [6]

В ДБ создаешь таблицу с полем 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


YurikGL   (2004-10-17 13:13:00) [7]


> вот и спрашиваю, кто каким способом это делает, как помещает,
> как извлекает.

См пункт [3]


tchn   (2004-10-17 13:08:00) [8]

да хранят, хранят.
вот и спрашиваю, кто каким способом это делает, как помещает, как извлекает.


Sergey_Masloff   (2004-10-17 10:38:00) [9]

сергей1   (17.10.04 10:09) [4]
>да никто их так не хранит,
Еще как хранят.


сергей1   (2004-10-17 10:09:00) [10]

>кто как хранит документы Word в базе (любой)?

да никто их так не хранит, потому-что глупость это. Хранят ссылкина эти файлы. Если-же тебе надо ограничить юзеров в доступе к винту, ну так и закрой право на запись на все, кроме папки с этими файлами


GanibalLector   (2004-10-17 01:27:00) [11]

к примеру, у пользователя нет прав писать на винт.
от Лукавого все это.

З.Ы. Как-как...в Blob-e тогда.


tchn   (2004-10-17 01:24:00) [12]

нада!
к примеру, у пользователя нет прав писать на винт.


GanibalLector   (2004-10-17 01:10:00) [13]

А зачем их хранить в базе??? Они себя хорошо чувствуют на винте.


Наверх

Титульная страница Поиск, карта сайта Написать письмо