0

I have a database that I'm accessing via SQL Management Studio 2014 (SMS2014). There is a field Signature on my table User that its a varbinary(max) type.

I have a folder of PNG images that I'd like to manually add to each record in the User table to file the Signature field.

How can I accomplish this? Is there an easy way I can do it using SMS2014 or another way maybe using a query that I run with different values for each record I want to set?

Barry Michael Doyle
  • 9,333
  • 30
  • 83
  • 143

1 Answers1

2

use the below script..

 UPDATE Yourtable
  SET Signature  = BulkColumn from Openrowset( Bulk 'C:\Images\image.PNG', Single_Blob) as UserImage 
 WHERE userID=@userID --mention the user ID

If you wanted to loop through the images.try something like below. Append the user id's of your User table with the image name (like image1,image2) and so taht we can easily identify which image belongs to which user..

DECLARE @imgString varchar(80)
DECLARE @insertString varchar(3000)


SET @count = 1

WHILE @count< 101 --total count of images

BEGIN

SET @imgString = 'C:\images\Image' + CONVERT(varchar,@count) + '.png'

SET @insertString = N'UPDATE User
                      SET Signature= BulkColumn
                      FROM OPENROWSET(BULK N''' + @imgString + ''', SINGLE_BLOB) as UserImage
                      where userID = @count'

EXEC(@insertString)

SET @count = @count + 1

END

GO
Unnikrishnan R
  • 4,965
  • 1
  • 12
  • 21
  • But be aware, that the file path is in the context of SQL Server... This leads to silly problems quite often :-) – Shnugo Aug 30 '16 at 13:39