sql >> Base de Datos >  >> Database Tools >> SSMS

No tienes permiso para usar el error de declaración de carga masiva

Para asegurarse de que tiene los permisos correctos para usar los comandos BULK, siga lo siguiente

  • Expandir Seguridad
  • Expandir Inicios de sesión
  • Haga clic derecho en su nombre de usuario y elija propiedades (Aparece una ventana de diálogo)
  • Elija funciones de servidor
  • Seleccione administrador masivo para poder usar comandos masivos o sysadmin para poder usar cualquier comando en su base de datos.

Ahora, con respecto a la consulta que está utilizando, no es del todo correcta.

Por crear la tabla

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

Para insertar los datos de gran valor

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 par de notas:

  • Debe establecer un nombre de correlación para el conjunto de filas masivo después de la cláusula FROM ([foto])
  • Utilice el prefijo de la columna derecha que se ha utilizado para la correlación del conjunto de filas masivo (foto.*)
  • La columna para la inserción masiva debe establecerse como varchar(max)

Artículo de MSDN para esto:aquí