За да сте сигурни, че имате правилните разрешения за използване на BULK команди, следвайте по-долу
- Разгънете Сигурност
- Разгънете Входове
- Щракнете с десния бутон върху вашето потребителско име и изберете properties (Появява се диалогов прозорец)
- Изберете Роли на сървъра
- Изберете bulkadmin за да можете да използвате групови команди или sysadmin за да можете да използвате всякакви команди към вашата база данни.
Сега, по отношение на заявката, която използвате, не е съвсем правилно.
За създаване на таблицата
CREATE TABLE [dbo].[Stickers] (
[name] varchar(10)
, [category] varchar(10)
, [gender] varchar(1)
, [imageData] varchar(max)
)
За вмъкване на данни с голяма стойност
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]
Няколко бележки:
- Трябва да зададете име на корелация за груповия набор от редове след клаузата FROM ([снимка])
- Използвайте префикса на дясната колона, който е бил използван за корелацията на груповия набор от редове (снимка.*)
- Колоната за груповата вложка трябва да бъде зададена като varchar(max)
MSDN статия за това:тук