Sql server 将从web url检索的图像作为varbinary列插入SQL Server数据库
我有一个图像url链接,需要存储在SQL Server数据库中。我需要在SQL Server或SSIS中编写一些东西来从URL获取该图像 这里显示的代码的问题是响应文本是Sql server 将从web url检索的图像作为varbinary列插入SQL Server数据库,sql-server,tsql,varbinary,Sql Server,Tsql,Varbinary,我有一个图像url链接,需要存储在SQL Server数据库中。我需要在SQL Server或SSIS中编写一些东西来从URL获取该图像 这里显示的代码的问题是响应文本是nvarchar(max),它应该是VarBinary(max) 这只是从数据库调用http请求的一个想法。我认为解决方案是在SSIS中的脚本组件中完成,我是正确的还是有人有更好的想法 DECLARE @status int DECLARE @responseText AS TABLE (responseText nvarcha
nvarchar(max)
,它应该是VarBinary(max)
这只是从数据库调用http请求的一个想法。我认为解决方案是在SSIS中的脚本组件中完成,我是正确的还是有人有更好的想法
DECLARE @status int
DECLARE @responseText AS TABLE (responseText nvarchar(max))
DECLARE @res AS Int;
DECLARE @url AS nvarchar(1000) = 'https://agriapp.azurewebsites.net/barcode/qr?id=LL-12345'
EXEC sp_OACreate 'MSXML2.ServerXMLHTTP', @res OUT
EXEC sp_OAMethod @res, 'open', NULL, 'GET',@url,'false'
EXEC sp_OAMethod @res, 'send'
EXEC sp_OAGetProperty @res, 'status', @status OUT
INSERT INTO @ResponseText (ResponseText)
EXEC sp_OAGetProperty @res, 'responseText'
EXEC sp_OADestroy @res
SELECT
@status,
CONVERT(VARBINARY(MAX),responseText) responseText
FROM @responseText
我相信您在responseText中得到的是base64编码,您需要对其进行解码,或者将其从base64转换为varbinary。查看此博客帖子: T-SQL:简单的Base64编码和解码 查看此链接: