2013-02-01 34 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就像拔牙一樣。我們曾經爲一個輝煌的一週工作過一次,然後突然停止工作。在那之後它就不值得再麻煩了。

這可能不是您正在尋找的確切答案,但可能是您的臨時解決方案。

相關問題