Сохранение изображения в базе данных - PullRequest
0 голосов
/ 31 марта 2010

Я хочу сохранить загруженное изображение в базу данных. Теперь мой вопрос:

  1. Каким должен быть тип данных для SQL Server 2000 для образа? а. образ б. VARBINARY

  2. что такое код для сохранения изображения в базе данных?

  3. Как извлечь изображение из базы данных и показать?

Пожалуйста, напишите мне любой учебник или руководство. Или, если вы можете поделиться со мной.

Заранее спасибо.

Ответы [ 4 ]

4 голосов
/ 31 марта 2010

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

1 голос
/ 31 марта 2010

Обычно на SQL Server для хранения изображений используется большой двоичный объект BLOB. Мы использовали его для документов Word в предыдущем проекте, и он работал просто отлично. См. эту статью в Database Journal для получения дополнительной информации, хотя быстрый Google для типа BLOB выльется в множество других примеров.

0 голосов
/ 17 января 2016

В SQLServer IMAGE или VARBINARY практически одинаковы. IMAGE имеет размер 2 ГБ, но для VARBINARY () требуется аргумент длины. Не очень хорошая идея хранить изображения в базе данных, их размер значительно увеличивается, при каждом резервном копировании необходимо сохранять все изображения, а с увеличением размера также увеличивается время на выполнение резервного копирования и восстановления. Вам также необходимо изменить размер сетевого пакета (в свойствах сервера, расширенный, сетевой, размер сетевого пакета). В последних версиях SQLServer наиболее адекватным типом данных является varbinary (MAX)

0 голосов
/ 31 марта 2010

Я написал эту статью некоторое время назад на эту тему. Это должно помочь вам с № 2 и № 3. Он использует MySQL, но основы те же, вам просто нужно заменить вызовы MySQL вызовами MSSQL.

Что касается # 1, я бы выбрал очевидный выбор: «изображение».
Однако я не уверен на 100% в разнице между ними. Это кажется очевидным:)

Редактировать , согласно this , создается впечатление, что тип данных image устарел. Он будет удален в следующих версиях. Не уверен, насколько это повлияет на вас, поскольку вы используете 10-летнюю версию, но об этом стоит помнить.

...