使用参数插入图像

时间:2016-11-23 20:51:04

标签: sql-server image tsql parameters

我尝试使用存储过程将图片插入表Foto中的列tblWerknemers

没有参数,它工作正常。

但是当我使用参数时,我收到以下错误:

  

Msg 4860,Level 16,State 1,Procedure procFotoWerknemerToevoegen,Line 10   无法批量加载。文件"' + @fotonaam +'"不存在。

这是我的存储过程:

ALTER PROCEDURE [dbo].[procFotoWerknemerToevoegen] 
    @Fotonaam nvarchar(50),
    @WerknemerID int
AS
BEGIN
    UPDATE tblWerknemers 
    SET Foto = (SELECT  MyImage.* 
                FROM Openrowset(Bulk ''' + @fotonaam + ''', Single_Blob) MyImage)
    WHERE WerknemerID = @WerknemerID
END

欢迎提供一些帮助。

1 个答案:

答案 0 :(得分:0)

尝试使用动态SQL:

declare @sql varchar(max)
set @sql = 'UPDATE tblWerknemers 
SET Foto = (SELECT  MyImage.* from Openrowset(Bulk ''' + @fotonaam + ''', Single_Blob) MyImage)
 WHERE WerknemerID = ' + cast(@WerknemerID as nvarchar(50))
EXEC(@sql)