【问题标题】:You do not have permission to use the bulk load statement...with bulkadmin permission您没有使用批量加载语句的权限...具有 bulkadmin 权限
【发布时间】:2014-11-10 10:25:48
【问题描述】:

批量插入语句通过创建查询在 SQL Server 中工作,但是当我使用批量插入创建存储过程时,如果我从我的 ASP.Net 应用程序调用它,它将不起作用。

我有批量管理员权限。

它给了我错误:

You do not have permission to use the bulk load statement.

我还有其他存储过程,一切正常。

我的存储过程:

ALTER PROCEDURE [dbo].[stored_procedure]
    @bulkinsert NVarChar(500)

 AS
    EXEC sp_executesql @bulkinsert
RETURN

【问题讨论】:

  • 您确定运行您的 ASP.NET 网站的应用程序池的用户具有所需的权限吗?
  • @Ganesh_Devlekar 我有bulkadmin权限。不一样
  • @JamesBlond 是的,用户有权限。
  • 有人有想法吗?

标签: asp.net sql-server-2008 stored-procedures bulkinsert


【解决方案1】:

很简单,使用管理员用户名和密码登录到您的 SQL 服务器。进入后,转到安全性->登录->右键单击您想要批量权限的登录用户。然后选择 Properties->Server Roles->Check Bulk Admin 为 YES。它应该工作。

【讨论】:

  • 您是否为 SQL 管理器的所有用户都执行了这些步骤?
  • 不,因为我不是系统管理员。我不能
  • 那么您可能想追踪 SQL 管理器的管理员
【解决方案2】:

我找到了一个解决方案:我创建了一个 sql 查询,并使用 sqlcommand 类从 ASp.Net 执行它。所以我不再使用存储过程。

bulkinsert = "BULK INSERT table FROM " + path + @"  WITH (firstrow=" + begin + "," + "lastrow=" + last + ",FIELDTERMINATOR ='\t', ROWTERMINATOR ='ENDOFFILE' )";
                  using (SqlCommand cmd = new SqlCommand(bulkinsert, conn))
                         {
                             cmd.ExecuteNonQuery();
                         }

【讨论】:

    猜你喜欢
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多