Per assicurarti di disporre delle autorizzazioni corrette per utilizzare i comandi BULK, segui quanto segue
- Espandi Sicurezza
- Espandi Accessi
- Fai clic con il pulsante destro del mouse sul tuo nome utente e scegli proprietà (Appare una finestra di dialogo)
- Scegli Ruoli del server
- Seleziona amministratore collettivo per poter utilizzare comandi in blocco o sysadmin per poter utilizzare qualsiasi comando nel tuo database.
Ora, per quanto riguarda la query che stai utilizzando, non è del tutto corretta.
Per creare la tabella
CREATE TABLE [dbo].[Stickers] (
[name] varchar(10)
, [category] varchar(10)
, [gender] varchar(1)
, [imageData] varchar(max)
)
Per inserire i dati di grande valore
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]
Un paio di note:
- Devi impostare un nome di correlazione per il set di righe in blocco dopo la clausola FROM ([foto])
- Utilizza il prefisso della colonna di destra che è stato utilizzato per la correlazione del set di righe in blocco (foto.*)
- La colonna per l'inserimento collettivo deve essere impostata come varchar(max)
Articolo MSDN per questo:qui