I am trying to insert an image into a VARBINARY(MAX) column. I get this error:
You do not have permission to use the bulk load statement.
Here is my code:
INSERT INTO Stickers (Name, Category, Gender, ImageData) SELECT 'Red Dress', 'Dress', 'F', BulkColumn FROM OPENROWSET(Bulk '\\Mac\Home\Documents\MMImages\reddress.png', SINGLE_BLOB) AS BLOB
I realise there are a lot of answers on this topic but none of them have worked for me. This answer would be the easiest one for me to follow, however when using the object explorer and going into security > logins > right clicking my user does not reveal a "properties" menu item to go into.
I am using Sql Server Management Studio. Maybe I am not using the SQL Server version that I think I am, because none of the programmatic ways to set the permissions for my user worked. I think I am using SQL Server 2012. I probably have a few versions of SQL server on my computer. Clicking Help > About, it does show the logo "Microsoft SQL Server 2012" above the version information for various components (It does not show the version information for SQL Server here).
EDIT: Perhaps could someone please state the exact code I would use above my insert statement, given that the database is called MirrorMirror, the table is called Stickers, my user is called Amber, and my server is called gonskh1ou0.database.windows.net.
In Azure SQL Database, INSERT and ADMINISTER DATABASE BULK OPERATIONS permissions are required. ADMINISTER BULK OPERATIONS permissions or the bulkadmin role is not supported for SQL Server on Linux. Only the sysadmin can perform bulk inserts for SQL Server on Linux.
BULK INSERT requires Server Level Permissions and Database level Permissions. At server level, the respective login needs to have ADMINISTER BULK OPERATIONS permission (or be a member of the bulkadmin server role).
To make sure you have the right permissions to use BULK commands follow the below
Now, in regards to the query your are using it's not quite right.
For creating the table
CREATE TABLE [dbo].[Stickers] ( [name] varchar(10) , [category] varchar(10) , [gender] varchar(1) , [imageData] varchar(max) )
For inserting the large value data
INSERT INTO [dbo].[Stickers] ([name], [category], [gender], [imageData]) SELECT 'Red dress' , 'Dress' , 'F' , photo.* FROM OPENROWSET(BULK 'C:\Users\username\Desktop\misc-flower-png-55d7744aca416.png', SINGLE_BLOB) [photo]
A couple of notes:
MSDN article for this: here
ALTER SERVER ROLE [bulkadmin] ADD MEMBER [user]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With