SSMS
 sql >> Datenbank >  >> Database Tools >> SSMS

Sie haben keine Berechtigung, den Fehler der Massenladeanweisung zu verwenden

Um sicherzustellen, dass Sie die richtigen Berechtigungen zur Verwendung von BULK-Befehlen haben, gehen Sie wie folgt vor

  • Erweitern Sie Sicherheit
  • Erweitern Sie Anmeldungen
  • Klicken Sie mit der rechten Maustaste auf Ihren Benutzernamen und wählen Sie Eigenschaften (Ein Dialogfenster erscheint)
  • Wählen Sie Serverrollen
  • Wählen Sie Massenverwaltung aus um Massenbefehle oder sysadmin verwenden zu können um beliebige Befehle für Ihre Datenbank verwenden zu können.

Nun, in Bezug auf die Abfrage, die Sie verwenden, ist sie nicht ganz richtig.

Zum Erstellen der Tabelle

CREATE TABLE [dbo].[Stickers] (
        [name] varchar(10)
        , [category] varchar(10)
        , [gender] varchar(1)
        , [imageData] varchar(max)
)

Zum Einfügen der großen Wertdaten

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]

Ein paar Anmerkungen:

  • Sie müssen nach der FROM-Klausel ([photo]) einen Korrelationsnamen für das Bulk-Rowset festlegen
  • Verwenden Sie das rechte Spaltenpräfix, das für die Korrelation des Bulk-Rowsets verwendet wurde (photo.*)
  • Die Spalte für die Masseneinfügung muss als varchar(max) festgelegt werden

MSDN-Artikel dazu:hier