Как сохранить и получить изображения Используя SQL Server (Studio управления сервером)

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

  1. Какой тип данных я должен использовать для хранения файлов изображений (jpeg/png/gif/etc)? Прямо сейчас моя таблица использует image тип данных, но мне любопытно если varbinary был бы более оптимальный вариант.

  2. Как я пошел бы о вставке изображения в базу данных? Microsoft SQL Server Management Studio имеет кого-либо созданным в функциях, которые позволяют вставки файлов в таблицы? Если так, как это сделано? Кроме того, как это могло быть сделано с помощью HTML-формы с PHP обработка входных данных и размещение его в таблицу?

  3. Как я выбрал бы изображение от таблицы и отобразил бы его на странице? Я понимаю, как ВЫБРАТЬ содержание ячейки, но как я пошел бы о переводе этого в изображение. Был бы у меня должен быть заголовок (Тип контента: image/jpeg)?

У меня нет проблемы при выполнении любой из этих вещей с MySQL, но среда SQL Server все еще плохо мне знакома, и я работаю над проектом для своего задания, которое требует, чтобы использование хранимых процедур захватило различные данные.

Любой и вся справка ценятся.

7
задан John Saunders 30 May 2010 в 19:26
поделиться

2 ответа

Тип image устарел, поэтому не используйте его.

Краткий ответ - использовать тип FILESTREAM , если это SQL 2008, или varbinary (max) , если это 2005 год или ранее.

Лучшим ответом будет использование типа FILESTREAM , если это SQL 2008, и не хранить изображения в базе данных вообще. Базы данных не созданы для такого рода вещей, и добавление туда больших двоичных объектов может значительно снизить производительность. FILESTREAM обходит проблему, сохраняя фактические данные в файловой системе; все остальное - нестандартное решение.

Что касается чтения и записи столбца varbinary , если вы выберете этот неидеальный подход, он будет представлен в PHP как поток. Это то, что вы получаете из запроса в качестве значения столбца, и я считаю, что это то, что вы должны указать в качестве параметра.

5
ответ дан 7 December 2019 в 12:18
поделиться

В командной строке bcp.exe можно использовать утилиту массовой вставки. Прочтите этот для получения дополнительной информации о том, как вставлять двоичные данные в MS SQL через t-sql.

0
ответ дан 7 December 2019 в 12:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: