【发布时间】:2013-02-01 14:31:45
【问题描述】:
我在服务器 A 上有一个 ASP.NET 应用程序,在服务器 B 上有一个 SQL Server。 运行应用程序时,它会调用存储过程。此过程尝试从服务器 A 上共享文件夹中的文件批量插入,但出现以下错误:
无法批量加载,因为无法打开文件“\serverA_address\sharedFolder\test.txt”。操作系统错误代码 5(访问被拒绝。)。
奇怪的是,当我直接从 sql 管理工作室执行批量插入时,它运行时没有任何异常。
另一个观察:如果我将共享文件夹地址更改为sql server运行的本地文件夹(服务器B)而不共享,则没有访问被拒绝错误...
我尝试为所有用户设置 bulkadmin 权限,包括技术用户:运行 sql 服务的 sql_serviceusr、另一个运行应用程序并调用 sql server 的技术用户以及登录到应用程序的用户.所有用户都是域帐户,所有服务器都使用 Kerberos 身份验证。
服务器 A:Windows Server 2008R2
服务器 B:Windows Server 2008R2、SQL Server 2008R2
感谢任何帮助或指导。
【问题讨论】:
-
它在 Management Studio 中有效但在应用程序中无效的原因可能是因为他们使用不同的帐户。我猜您使用个人凭据在 Studio 中登录 SQL,但该应用程序的帐户更受限制(应该如此)。
标签: asp.net sql-server sql-server-2008-r2 asp.net-2.0