从Web网址检索的图像作为varbinary列插入到SQL Server数据库中

问题描述

我有一个图像URL链接,我需要将其存储在SQL Server数据库中。我需要在SQL Server或SSIS中写一些东西才能从URL中获取该图像。

此处显示的代码的问题是响应文本为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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)