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

StackOverflow https://stackoverflow.com/questions/1516569

Вопрос

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

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

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

Это было полезно?

Решение

Типы 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) столбец).

Марк

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top