Scan-IT to Office 常见问题
智能数据库连接器:如何将图像插入 SQL Server
智能数据库连接器:如何将图像插入 SQL Server
您的需求:我想在数据库中接收图像。
解决方案:图像会以 Base64 字符串的形式传输到智能数据库连接器。SQL Server 可以在内部将该字符串转换为图像。以下是示例解决方案:
- 创建两个数据字段:
- 用于存放 Base64 字符串(nvarchar(MAX),允许为空),例如 ImageBase64
- 用于存放二进制数据(varbinary(MAX),允许为空),例如 ImageBinary
以下是在 SQL Server 2005 及以上版本中定义的示例数据库 “TestTable”
- 在智能数据库连接器中使用 SQL 语句 INSERT INTO,将应用中的图像数据(数据字段名 “Image”)发送到数据库 “TestTable” 中的 “ImageBase64” 字段:
INSERT INTO TestTable (Data, ImageBase64) VALUES (%Barcode%, %Image%)
- 随后可以在由 INSERT 事件触发的 TRIGGER 存储过程中完成到图像的转换。例如:
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