2009-09-23 33 views
0

我似乎無法使用Windows帳戶從我的ASP頁面訪問我的數據庫。 這裏是我的連接字符串: 提供程序= SQLOLEDB;數據來源= NHA-SQL-I0; UID = DOMAIN \ NHA-svcRequestForm; PWD =密碼; DATABASE = RequestForms身份驗證SQL 2005使用域帳戶從ASP

我得到了經典: Microsoft OLE DB提供對於SQL Server(0x80040E4D)用戶'NIRHB \ NHA-svcRequestForm'登錄失敗。

出現這種情況,因爲我使用任何域帳戶。使用SQL帳戶工作正常。 任何想法我缺少什麼設置/配置?

謝謝

+0

ASP經典或.NET? – AnthonyWJones 2009-09-23 20:17:26

+0

這是傳統的ASP。 – Kolten 2009-09-23 22:41:15

回答

1

這種類型的連接字符串用於SQL帳戶;你實際上試圖以名爲「DOMAIN \ NHA-svcRequestForm」的SQL用戶進行連接。

嘗試somethign這樣的:

PROVIDER=SQLOLEDB;DATA SOURCE=NHA-SQL-I0;DATABASE=RequestForms;Trusted_Connection=YES 

而且不管應用程序試圖連接到數據庫必須運行作爲域用戶。這意味着應用程序池的身份必須設置爲您的域用戶(如果這是IIS中的Web應用程序),或者服務標識必須是域用戶(如果是Windows服務)。

+0

好了,我的應用程序池設置爲使用「域\ NHA-svcRequestForm」的身份,但現在我不斷收到一個「Service Unavailable」錯誤,當我嘗試加載網頁...驗證用戶名和密碼是正確的。如上所述添加了連接字符串,但沒有去!任何想法有什麼不對?我習慣於比「服務不可用」更詳細的消息... – Kolten 2009-09-23 22:45:18

+0

嘗試將該用戶添加到服務器上的IIS_WPG組。充當工作進程標識的帳戶需要某些權限才能正常運行。 – 2009-09-24 16:13:20

1

指定用戶名和連接字符串密碼只爲SQL身份驗證的工作。

集成身份驗證(即使用「域帳戶」),您必須改爲指定Integrated Security=SSPI。你不能明確地指定一個用戶名,SQL會驗證運行這個連接過程的帳戶(即ASP帳戶)。

如果你想域用戶連接到你的網站,你必須在你的應用程序池啓用模擬並啓用約束委派進行身份驗證。見How To: Use Protocol Transition and Constrained Delegation in ASP.NET 2.0

+0

我認爲他使用的是經典的ASP,儘管......即使如此,您的答案仍然適用! – 2009-09-23 18:56:58

+0

這是經典的ASP。 – Kolten 2009-09-23 22:40:38

+0

受約束的委託和模擬在傳統ASP中的工作方式相同。有很多關於如何配置的指南,例如。 http://technet.microsoft.com/en-us/library/dd296638(WS.10).aspx – 2009-09-23 22:47:28

相關問題