Как загрузить изображение в SQL Server

Чтобы загрузить изображение в SQL Server, нужно использовать столбец типа VARBINARY(MAX). Вот пример того, как загрузить изображение:


CREATE TABLE Images (
    ImageId INT PRIMARY KEY,
    ImageData VARBINARY(MAX)
);

INSERT INTO Images (ImageId, ImageData)
VALUES (1, BulkColumn)
FROM OPENROWSET(
    BULK 'C:\Path\To\Image.jpg',
    SINGLE_BLOB) AS Image;
    

В приведенном выше примере мы создаем таблицу с двумя столбцами: ImageId и ImageData. Столбец ImageData имеет тип VARBINARY(MAX), который позволяет хранить данные изображения. Затем мы используем оператор INSERT INTO, чтобы загрузить изображение в таблицу Images. Мы указываем путь к изображению в OPENROWSET и используем функцию BULK для загрузки изображения. После выполнения запроса, изображение будет успешно загружено в SQL Server.

Детальный ответ

Как в SQL Server загрузить изображение

Загрузка изображений в базу данных может быть полезной, когда вы хотите хранить изображения вместе с другими данными, чтобы они легко доступны и могли быть воспроизведены. В SQL Server вы можете загружать изображения, используя различные способы, и в этой статье мы рассмотрим несколько из них.

Способ 1: Использование типа данных "image"

В SQL Server вы можете использовать тип данных "image" для хранения изображения. Этот тип данных может содержать бинарные данные, включая изображения. Чтобы загрузить изображение в столбец типа данных "image", вам сначала нужно преобразовать его в бинарный формат.

Вот пример загрузки изображения с помощью типа данных "image":


-- Создание таблицы для хранения изображения
CREATE TABLE Images
(
    ID INT PRIMARY KEY,
    ImageData IMAGE
)

-- Загрузка изображения в таблицу
INSERT INTO Images (ID, ImageData)
VALUES (1, CAST('0x89504E470D0A1A0A0000000D494844520000030000030108000000FA3A087C20000000909
    7A0000009049444154789C630E20CC57D144AAA4B0C41F75EB815C214829924674688DC863134915
    F920D0E59595925235E040585C120A4BCD13510A9C319A0408508080A020E4B1354543504AF805E
    505858B8091F50352190A86C1A9AAE851B5F309AACAA652149AAA92BB95D9243A2E222F2122114EC
    B2F8FF6B60000007B4944415478DAED5D8B48781C05E16A02A4AF90D8325A569A1653540680A2666
    51CD092BA489DFB56B1005B40E3FD028C6EF8FA19E3B07A100CD29F488B42C50478B384CAA99F8B7
    67B384EEE27DFF263280BB8CEE336ED22B6E5A368B4F5EE8292828282828283135190E9830023FC6
    6ADF33403D9243080A0A3C0C06014D64FAE2730000000049454E44AE426082'
AS VARBINARY(MAX)))

В этом примере создается таблица с именем Images, содержащая столбец ID типа INT и столбец ImageData типа IMAGE. Затем с помощью оператора INSERT INTO загружается изображение в таблицу.

Способ 2: Использование типа данных "varbinary"

Вы также можете использовать тип данных "varbinary" для хранения изображений в SQL Server. Этот тип данных может содержать переменное количество байтов, включая изображения.

Вот пример загрузки изображения с помощью типа данных "varbinary":


-- Создание таблицы для хранения изображения
CREATE TABLE Images
(
    ID INT PRIMARY KEY,
    ImageData VARBINARY(MAX)
)

-- Загрузка изображения в таблицу
INSERT INTO Images (ID, ImageData)
VALUES (1, 0xFFD8FFE000104A46494600010100000100010000FFDB004300080606070605080707070909080A0C
    140D0C0B0B0C1912130F141D1A1F1E1D1A1C1C20242E2720222C231C1C2837292C30313434341F27393D38323C2E333432FFDB0043010909090C0B0C180D0D1832211C21323232323232323232323232323232323232323232
    3232323232323232323232323232323232323232323232323232FFC00011080028002803012200021101031101FFC4001F
    0000030101010101010100000000000000000102030405060708090A0B1FFC400B510000201020404030407050404000001
    7D01020300041105122131410613516107227114328191A1082342B1C11552D1F02433627282090A161718191A2526272829
    2A3435363738393A434445464748494A535455565758595A636465666768696A737475767778797A838485868788898A9293
    9495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE1E2E3E4E5E6E7
    E8E9EAF1F2F3F4F5F6F7F8F9FAFFC4001F0100030101010101010101010000000000000102030405060708090A0B1FFC4
    001B51000002110311020002110311030011110405213161710603223281C114244291A1B1D109233352F0156272C2D1A1B1
    E1147252F133C1155372F02416171141222338191A262728292A35363738393A434445464748494A535455565758595A63646
    5666768696A737475767778797A82838485868788898A92939495969798999AA2A3A4A5A6A7A8A9AAB2B3B4B5B6B7B8B9BAC
    2C3C4C5C6C7C8C9CAD2D3D4D5D6D7D8D9DAE2E3E4E5E6E7E8E9EAF2F3F4F5F6F7F8F9FA
)

В этом примере создается таблица с именем Images, содержащая столбец ID типа INT и столбец ImageData типа VARBINARY(MAX). Затем с помощью оператора INSERT INTO загружается изображение в таблицу.

Способ 3: Использование типа данных "nvarchar"

Вы также можете использовать тип данных "nvarchar" для хранения изображений в SQL Server. Тип данных "nvarchar" позволяет хранить символы юникода переменной длины. Для хранения изображений в типе данных "nvarchar" вы можете использовать кодирование изображения в формате Base64.

Вот пример загрузки изображения с помощью типа данных "nvarchar":


-- Создание таблицы для хранения изображения
CREATE TABLE Images
(
    ID INT PRIMARY KEY,
    ImageData NVARCHAR(MAX)
)

-- Загрузка изображения в таблицу
INSERT INTO Images (ID, ImageData)
VALUES (1, N'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
     j0m2dV6XaV

Видео по теме

ЗАГРУЗКА ФОТО В БД & ВЫГРУЗКА | C# | WINFORM | SQL

6. Qt 5.5.0+MS SQL Server 2008 Express - Добавление изображения (Adding an image)

Загрузка и вывод фотографий с БД mysql урок PHP

Похожие статьи:

Где найти SQL Server Configuration Manager: пошаговая инструкция для начинающих

Как загрузить изображение в SQL Server

Где хранятся представления SQL: место сохранения представлений