2013-10-07 4 views
0

Мы разрабатываем базу данных, в которой необходимо хранить различные версии файла (pdf/image/reduced image) в таблице. Силы, которые были бы против использования Filestream по какой-либо причине, поэтому это не обсуждается.Сохранение PDF-файлов и изображений: nvarchar (max) vs varbinary (max)

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

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

+0

Я предлагаю вам использовать BLOB. – Praveen

+0

Назад в темные времена (pre-SQL 2008), VARBINARY (MAX) служил для этой цели. Его целью является (было) сохранение [двоичных данных переменной длины] (http://msdn.microsoft.com/en-us/library/ms188362.aspx). –

ответ

5

Учитывая ваш двоичный выбор nvarchar vs varbinary, у него нет выбора: это varbinary. nvarchar предназначен для хранения данных на основе символов в кодировке Unicode. varbinary собирается хранить бит-совершенную копию данных, которые вы там ввели. PDF-файлы и изображения являются двоичными файловыми типами, поэтому он является двоичным.

Что касается предложения BLOB, нет. Это даже не поддерживается в 2012 году. О, и, возможно, вы имели в виду тип данных TEXT/NTEXT/IMAGE. Они также устарели, поэтому не создавайте ничего нового, используя их.

Наконец, вы сказали, что не можете использовать FileStream, но как насчет FileTable. Я не уверен, что вы ищете просто хранение данных или вам нужно его искать, и в этом случае, FileTable довольно гладкий.

Смежные вопросы