FAQ Scan-IT to Office
Connettore database intelligente: come inserire immagini in SQL Server
Connettore database intelligente: come inserire immagini in SQL Server
Il vostro requisito: voglio ricevere immagini nel mio database.
Soluzione: le immagini vengono trasmesse allo Smart Database Connector come stringa Base64. Questa stringa può essere convertita internamente in un'immagine da SQL Server. Di seguito trovate una soluzione di esempio:
- Create due campi dati:
- per una stringa Base64 (nvarchar(MAX), consente valori null), ad es. ImageBase64
- per dati binari (varbinary(MAX), consente valori null), ad es. ImageBinary
Ecco una definizione di un database di esempio "TestTable" in SQL Server 2005+
- Usate l'istruzione SQL INSERT INTO in Smart Database Connector per inviare i dati immagine dall'app (il campo dati "Image") al campo "ImageBase64" del database "TestTable":
INSERT INTO TestTable (Data, ImageBase64) VALUES (%Barcode%, %Image%)
- La conversione in un'immagine può quindi essere eseguita in una stored procedure TRIGGER invocata da un evento INSERT. Ad es.:
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