2013-02-01 39 views
1

我在服务器A上有一个ASP.NET应用程序,服务器B上有一个SQL Server。 当运行应用程序时,它调用一个存储过程。此过程尝试从服务器A上的共享文件夹批量插入文件,但发生以下错误:批量插入时操作系统错误代码5(访问被拒绝)

无法打开文件“\ serverA_address \ sharedFolder \ test.txt”无法批量加载。操作系统错误代码5(访问被拒绝。)。

奇怪的是,当我从sql管理工作室直接执行批量插入时,它运行时没有任何表达式。

另一种看法:如果我更改共享文件夹地址在运行SQL Server(服务器B)不共享型,不拒绝访问的错误...

我试图bulkadmin权限设置为本地文件夹的所有用户,包括技术用户:运行SQL服务的sql_serviceusr,运行应用程序并调用sql服务器和登录到应用程序的用户的另一技术用户。所有用户都是域帐户,所有服务器都使用Kerberos身份验证。

服务器A:在Windows Server 2008R2

服务器B:在Windows Server 2008 R2,SQL服务器2008R2

欣赏任何帮助或指导。

+0

它在Management Studio中工作的原因,但不是应用程序可能是因为他们使用不同的帐户。我猜你在Studio中使用你的个人信用登录到SQL,但该应用程序有一个更有限的帐户(它应该)。 – 2014-01-29 17:04:22

回答

0

通过您对错误的描述,我认为问题在于共享文件夹。
当共享一个文件夹时,您应该访问将从远程计算机访问该文件夹的用户在文件夹属性中的两个位置:共享选项卡和安全选项卡。
你有没有给他们两个访问?

+0

是的,我授予了访问权限并分享给特定的用户。但没有发生。 – Blackstar

1

您正在做双跳,因此您需要启用Kerberos委派。

1

您可以创建一个连接帐户并使用SQL身份验证。

根据我的经验,让我们的网络人员正确设置Kerberos就像拔牙一样。我们曾经为一个辉煌的一周工作过一次,然后突然停止工作。在那之后它就不值得再麻烦了。

这可能不是您正在寻找的确切答案,但可能是您的临时解决方案。

相关问题