Как хранить файлы doc, xls, pdf, image.xml в приложении Windows, используя C #? - PullRequest
1 голос
/ 09 января 2012

Я хочу хранить файлы в своей базе данных SQL Server 2008.

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

Кто-нибудь есть идеи об этом, пожалуйста, помогите мне ...

Спасибо, Балу

Ответы [ 2 ]

0 голосов
/ 09 января 2012

Тип данных - VARBINARY(MAX)

Хранение файлов в базе данных имеет свои преимущества и недостатки:

Если файлы являются неотъемлемой и активно изменяющейся частью системы, и их необходимо резервировать вместе с другими данными - вы можете сохранить их в БД, , но попытаться использовать FILESTREAM поля, если вы используете sql server 2005+ и ваши файлы достаточно велики - скажем, 500k +

Если файлы являются статическим содержимым, вы можете хранить их снаружи только с указателями в БД. Это не мешает учесть все ваши пользовательские разрешения компьютера.

Хранение и работа с файлами внутри БД обычно медленнее, чем в файловой системе, но все зависит от ваших потребностей.

PROPER использование файлового потока НЕ медленнее, чем при использовании файловой системы, БД немного медленнее, когда вы сохраняете файлы в чистых varbinary(max) столбцах

0 голосов
/ 09 января 2012

Вы можете хранить данные в двоичном формате и использовать полнотекстовый поиск для интерпретации двоичных данных и извлечения текстовой информации: .doc, .txt, .xls, .ppt, .htm. Извлеченный текст индексируется и становится доступным для запросов.

Для получения дополнительной информации посмотрите на это:

http://technet.microsoft.com/en-us/library/ms142499(SQL.90).aspx

Плюсы: Основное преимущество хранения данных в базе данных заключается в том, что они делают данные «автономными». Поскольку все данные содержатся в базе данных, резервное копирование данных, перемещение данных с одного сервера базы данных на другой, репликация базы данных и т. Д. Намного проще.

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

Минусы: вы можете прочитать это здесь: https://dba.stackexchange.com/questions/3924/sql-server-2005-large-binary-storage. Но это то, что вам нужно сделать для эффективного поиска по файлам.

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

Вот статья, в которой обсуждается использование abt с помощью FileStream и базы данных: http://blogs.msdn.com/b/manisblog/archive/2007/10/21/filestream-data-type-sql-server-2008.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...