Preguntas frecuentes sobre Scan-IT to Office
Conector de base de datos inteligente: cómo insertar imágenes en SQL Server
Conector de base de datos inteligente: cómo insertar imágenes en SQL Server
Su necesidad: quiero recibir imágenes en mi base de datos.
Solución: las imágenes se transmiten al conector de base de datos inteligente como una cadena Base64. Esta cadena puede convertirse internamente en una imagen mediante SQL Server. A continuación encontrará una solución de ejemplo:
- Cree dos campos de datos:
- para una cadena Base64 (nvarchar(MAX), permite valores nulos), por ejemplo ImageBase64
- para datos binarios (varbinary(MAX), permite valores nulos), por ejemplo ImageBinary
Aquí tiene una definición de una base de datos de ejemplo "TestTable" en SQL Server 2005+
- Use la instrucción SQL INSERT INTO en el conector de base de datos inteligente para enviar los datos de imagen desde la app (el campo de datos "Image") al campo "ImageBase64" de la base de datos "TestTable":
INSERT INTO TestTable (Data, ImageBase64) VALUES (%Barcode%, %Image%)
- La conversión a una imagen se puede realizar entonces en un procedimiento almacenado TRIGGER invocado por un evento INSERT. Por ejemplo:
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