Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.11.21;
Скачать: CL | DM;

Вниз

кто как хранит документы 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.242 c
14-1099376432
ИМХО
2004-11-02 09:20
2004.11.21
1 кб кода. за 3 дня!


1-1099642881
КиТаЯц
2004-11-05 11:21
2004.11.21
MS Excel + Delphi открытие файла (формат ячеек)


1-1099438110
Змей
2004-11-03 02:28
2004.11.21
Richedit


14-1098512111
kaif
2004-10-23 10:15
2004.11.21
Мне надоела ложь против демократии и рынка!


1-1099556874
LEXX_55
2004-11-04 11:27
2004.11.21
"Памогите, кто знаете". Почему ответ не верный?