How to insert binary data (like images/documents) into a SQL Server database with SQL Server Management Studio?
If you quickly want to insert some binary data (like images, word documents, pdfs) into a database writing a front-end application for this talk might be a bit of an overkill… Fortunately, this is a pretty straight-forward talk in SQL Server Management Studio :-)
The following example updates the Categories table of the good ol’ Northwind database to store the images, updates two categories with images and adds another category and an image.
/* Add anadditional column to the Categories table to store the image */ ALTER TABLE dbo.Categories ADD CategoryPicture VARBINARY(MAX) NULL GO /* update thetable to insert some images */ UPDATE Categories SET CategoryPicture = (SELECT * FROMOPENROWSET(BULK N'C:\Temp\Beverages.jpg', SINGLE_BLOB) AS CategoryImage) WHERE CategoryID = 1 UPDATE Categories SET CategoryPicture = (SELECT * FROMOPENROWSET(BULK N'C:\Temp\Condiments.jpg', SINGLE_BLOB) AS CategoryImage) WHERE CategoryID = 2 GO /* Insert a new category with an image */ INSERT INTO Categories(CategoryName, CategoryPicture) Values ('Another Category', (SELECT * FROM OPENROWSET(BULK N'C:\Temp\AnotherCategory.jpg', SINGLE_BLOB) AS CategoryImage)) |
Enjoy!
Daniel
Comments
Anonymous
September 13, 2011
how to insert image in sqlserver 2005Anonymous
September 14, 2011
Subqueries are not allowed in this context. Only scalar expressions are allowed.Anonymous
September 14, 2011
Subqueries are not allowed in this context. Only scalar expressions are allowed. i got this errorAnonymous
January 11, 2015
Excelent, i just need to adda a space here 'FROM OPENROWSET'. Thanks!Anonymous
April 24, 2015
INSERT INTO Categories(CategoryName, CategoryPicture) Values ('Another Category', (SELECT * FROM OPENROWSET(BULK N'C:TempAnotherCategory.jpg', SINGLE_BLOB) AS CategoryImage)) error: Subqueries are not allowed in this context. Only scalar expressions are allowed.Anonymous
May 20, 2015
Thanks a lot ; you made my day, I had a hard time find this info online. I really appreciate your work. Great it worked for me.Anonymous
October 28, 2015
The comment has been removedAnonymous
October 28, 2015
How to insert the resume doc in the table.I have to follow your way,and insert the image.but error will be araised.how could i insert the resume in one table in sql server 2008..please any one help me to insert the resumeAnonymous
January 12, 2016
insert into tbl_EmpDocumentInfo (docx_ID,emp_Image) SELECT '1', BulkColumn FROM Openrowset( Bulk 'D:malinga.jpg', Single_Blob) as img