FAQ Scan-IT to Office
Smart Database Connector: Wie übertrage ich Bilder an einen SQL-Server?
Smart Database Connector: Wie übertrage ich Bilder an einen SQL-Server?
Ihre Anforderung: Ich möchte in meiner Datenbank Bilder empfangen.
Bilder werden als Base64-String an den Smart Database Connector übertragen. Dieser String kann von einem SQL-Server intern in ein Bild konvertiert werden. Hier finden Sie ein Lösungsbeispiel:
- Erstellen Sie zwei Datenfelder:
- für Base64 string (nvarchar(MAX), Nullen zulässig), z. B. ImageBase64
- für binary data (varbinary(MAX), Nullen zulässig), z. B. ImageBinary
Definition einer Beispiel-Datenbank “TestTable” in SQL Server 2005+
- Verwenden Sie die SQL-Anweisung INSERT INTO im Smart Database Connector, um Bilddaten aus der Anwendung (Datenfeldname "Image") an das Feld "ImageBase64" der Datenbank "TestTable" zu senden:
INSERT INTO TestTable (Data, ImageBase64) VALUES (%Barcode%, %Image%)
- Die Bild-Konvertierung kann dann mithilfe einer gesicherten TRIGGER-Prozedur durchgeführt werden, welche durch das Ereignis INSERT aufgerufen wird. Zum Beipsiel:
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