FAQ Scan-IT to Office
Smart Database Connector: как вставить изображения в SQL Server
Smart Database Connector: как вставить изображения в SQL Server
Ваше требование: я хочу получать изображения в моей базе данных.
Решение: изображения передаются в Smart Database Connector в виде строки Base64. Эту строку SQL Server может внутренне преобразовать в изображение. Ниже вы найдёте пример решения:
- Создайте два поля данных:
- для строки Base64 (nvarchar(MAX), допускает null), например ImageBase64
- для двоичных данных (varbinary(MAX), допускает null), например ImageBinary
Вот определение образца базы данных «TestTable» в SQL Server 2005+
- Используйте оператор SQL INSERT INTO в Smart Database Connector, чтобы отправить данные изображения из приложения (имя поля данных «Image») в поле «ImageBase64» базы данных «TestTable»:
INSERT INTO TestTable (Data, ImageBase64) VALUES (%Barcode%, %Image%)
- Преобразование в изображение затем можно выполнить в хранимой процедуре TRIGGER, вызываемой событием INSERT. Например:
CREATE TRIGGER dbo.ConvertImageOnInsert ON dbo.TestTable AFTER INSERT AS BEGIN UPDATE TestTable SET ImageBinary = CAST('' AS XML).value('xs:base64Binary(sql:column("i.ImageBase64"))', 'VARBINARY(MAX)') FROM TestTable t INNER JOIN inserted i ON t.ID = i.ID END GO