Каков наилучший способ хранения текстовых файлов в базе данных Sql Server для веб-приложения asp.net mvc? - PullRequest
9 голосов
/ 04 октября 2009

Я делаю небольшое приложение asp.net mvc. в котором я должен вычислить данные из нескольких Файлы CSV (от 5 до 10 файлов).

Приложение должно предоставить действия по загрузке и загрузке этих файлов.

Часть, в которой у меня нет опыта, это база данных. Какой тип столбца я должен использовать? текст, изображение, двоичный файл? размер файла будет от 80 КБ до 500 КБ

1 Ответ

14 голосов
/ 04 октября 2009

Типы TEXT, NTEXT и IMAGE устарели - не используйте их для новых разработок. Они будут удалены из будущей версии SQL Server навсегда.

Для SQL Server 2005 и более поздних версий используйте VARCHAR(MAX) / NVARCHAR(MAX), если вы имеете дело с чистыми текстовыми файлами (такими как исходный код или файлы CSV), или VARBINARY(MAX), если вы имеете дело с двоичными файлами.

Они позволяют хранить до 2 ГБ памяти для каждого отдельного файла, и вы можете использовать все обычные строковые функции T-SQL для управления ими (то есть (N) VARCHAR (MAX) полей).

Если вы используете SQL Server 2008, есть также дополнительная опция - атрибут FILESTREAM в столбцах VARBINARY(MAX). Это позволяет хранить файлы в файловой системе компьютера SQL Server (вместо таблиц базы данных), сохраняя при этом целостность транзакций и целостность данных.

FILESTREAM рекомендуется для файлов, размер которых обычно и обычно превышает 1 МБ, или если вам когда-либо понадобится более 2 ГБ (поскольку вы не можете хранить более 2 ГБ в обычном столбце VARBINARY(MAX)).

Марк

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