You do not have permission to use the bulk load statement error(您没有使用BULK LOAD语句错误的权限)
问题描述
我正在尝试将图像插入到VARBINARY(MAX)列中。我收到此错误:
您没有使用BULK LOAD语句的权限。
以下是我的代码:
INSERT INTO Stickers (Name, Category, Gender, ImageData)
SELECT
'Red Dress',
'Dress',
'F',
BulkColumn FROM OPENROWSET(Bulk '\MacHomeDocumentsMMImages
eddress.png',
SINGLE_BLOB) AS BLOB
我意识到关于这个话题有很多答案,但没有一个对我管用。This answer对我来说是最容易理解的,但是,当使用对象资源管理器并进入安全>登录>右键单击我的用户时,不会显示要进入的"属性"菜单项。
我正在使用SQL Server Management Studio。可能我没有使用我认为的SQL Server版本,因为为我的用户设置权限的所有编程方法都不起作用。我想我使用的是SQL Server 2012。我的计算机上可能有几个版本的SQL Server。单击"帮助">"关于",它会在各个组件的版本信息上方显示"Microsoft SQL Server 2012"徽标(此处不显示SQL Server的版本信息)。
编辑:如果数据库名为MirrorMirror,表名为Stickers,我的用户名为Amber,我的服务器名为gonskh1ou0.database ase.windows.net,请说明我将在INSERT语句上使用的确切代码。
推荐答案
要确保您具有使用批量命令的正确权限,请遵循以下说明
- 展开安全性
- 展开登录名
- 右键单击您的用户名,然后选择属性 (出现对话框窗口)
- 选择服务器角色
- 选择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:UsersusernameDesktopmisc-flower-png-55d7744aca416.png', SINGLE_BLOB) [photo]
注意事项:
- 您需要在FROM子句([PHOTO])之后设置批量行集的相关名称
- 使用已用于批量行集关联的右列前缀(照片*)
- 大容量插入的列需要设置为varchar(Max)
有关此问题的MSDN文章:here
这篇关于您没有使用BULK LOAD语句错误的权限的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:您没有使用BULK LOAD语句错误的权限
- 更改自动增量起始编号? 2021-01-01
- 使用 Oracle PL/SQL developer 生成测试数据 2021-01-01
- 导入具有可变标题的 Excel 文件 2021-01-01
- 以一个值为轴心,但将一行上的数据按另一行分组? 2022-01-01
- 在SQL中,如何为每个组选择前2行 2021-01-01
- 远程 mySQL 连接抛出“无法使用旧的不安全身份验证连接到 MySQL 4.1+"来自 XAMPP 的错误 2022-01-01
- 如何使用 pip 安装 Python MySQLdb 模块? 2021-01-01
- 如何将 SonarQube 6.7 从 MySQL 迁移到 postgresql 2022-01-01
- SQL 临时表问题 2022-01-01
- 如何将 Byte[] 插入 SQL Server VARBINARY 列 2021-01-01