Как редактировать документ Word (.docx), хранящийся в таблице SQL Server? - PullRequest
4 голосов
/ 01 сентября 2010

Как редактировать документ Word (.docx), хранящийся в таблице SQL Server?

Вот примерный рабочий процесс:

  1. Читать BLOB из таблицы SQL через Ideablade
  2. Запись BLOB на диск как .docx
  3. Открыть .docx с помощью Word
  4. Пользователь вносит изменения
  5. Сохранение .docx с помощью Word
  6. Считать .docx в BLOB
  7. Запись BLOB обратно в таблицу SQL через Ideablade

Весь образец кода приветствуется?
Я уверен, что многие уже делают это.

Есть еще идеи, как упростить этот процесс?

Я использую VB.NET, .NET 3.5 SP1, WinForm и SQL Server 2008.

Ответы [ 3 ]

4 голосов
/ 01 сентября 2010

Что касается того, как, вот как читает BLOB-объект и записывает BLOB-объект в SQL. Хотя, честно говоря, если у вас нет веских причин, таких как существующая система резервного копирования, вам лучше всего хранить файл в файловой системе, а также путь и метаданные в базе данных. В любом случае, абстрагируйте это в своем BLL, чтобы вы могли передумать в будущем.

2 голосов
/ 01 сентября 2010

Извлечение и обновление BLOB из базы данных не должно быть проблемой, вы найдете множество примеров кода для этого в сети.

Простой подход к вашей проблеме - создать где-нибудь временный или рабочий каталог и отслеживать его с помощью System.IO.FileSystemWatcher ( пример кода ). Когда пользователь хочет отредактировать файл, извлеките его из базы данных и сохраните в каталоге. Каждый раз, когда пользователь сохраняет файл, вы получите уведомление от вашего FileSystemWatcher, чтобы вы могли сохранить его в базе данных. Не забывайте время от времени очищать каталог.

0 голосов
/ 01 сентября 2010

Метод, который я видел для этого, который, я думаю, работает лучше всего, состоит в том, чтобы создать его как дополнение для самого MS Word. Примеры включают в себя «Сохранить в Sharepoint», «Сохранить в Moodle» и другие подобные надстройки.

...