Как загрузить файлы с помощью форм c # windows? - PullRequest
0 голосов
/ 05 сентября 2011

Я создал скрипт, который загружает файлы и сохраняет их в базу данных SQL в виде двоичных данных. Лучше ли загружать их в папки на сервере и сохранять только ссылки на них в базе данных?

Если да, как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 06 сентября 2011

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

Если ваши файлы достаточно малы, то их хранение в БД позволит вам использовать встроенную механику целостности данных SQL Server. Резервные копии вашей базы данных будут автоматически синхронизированы с данными изображения. Однако большие файлы сделают вашу базу данных «тяжелой».

Если вы решили хранить файлы в БД, то хорошо бы создать специализированную таблицу для изображений. Преимущество хранения изображений в отдельной таблице заключается в том, что запросы к этой выделенной таблице будут выполняться только тогда, когда это необходимо (например, когда пользователь запрашивает автора изображения и время создания изображения, сервер БД будет использовать облегченную таблицу с метаданными изображения). Другое преимущество заключается в том, что некоторые базы данных (MS SQL) позволяют размещать таблицы на разных дисках, поэтому вы можете поместить эту тяжелую таблицу на отдельный диск.

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

0 голосов
/ 05 сентября 2011

Да, как я думаю.Эта статья может быть полезной http://www.shabdar.org/sql-server/105-store-save-images-in-sql-server.html

...