我似乎无法使用Windows帐户从我的ASP页面访问我的数据库。 这是我的连接字符串: PROVIDER = SQLOLEDB; DATA SOURCE = NHA-SQL-I0; UID = DOMAIN \ NHA-svcRequestForm; PWD =密码; DATABASE = RequestForms
我得到了经典: 用于SQL Server的Microsoft OLE DB提供程序(0x80040E4D)用户'NIRHB \ NHA-svcRequestForm'登录失败。
我使用的任何域帐户都会出现这种情况。使用SQL帐户工作正常。 知道我缺少什么设置/配置吗?
由于
答案 0 :(得分:1)
这种类型的连接字符串用于SQL帐户;您实际上尝试以名为“DOMAIN \ NHA-svcRequestForm”的SQL用户身份进行连接。
尝试这样的事情:
PROVIDER=SQLOLEDB;DATA SOURCE=NHA-SQL-I0;DATABASE=RequestForms;Trusted_Connection=YES
无论尝试连接数据库的任何应用程序都必须运行作为域用户。这意味着必须将应用程序池的标识设置为您的域用户(如果这是IIS中的Web应用程序),或者服务标识必须是域用户(如果是Windows服务)。
答案 1 :(得分:1)
在连接字符串中指定用户名和密码仅适用于SQL身份验证。
对于集成身份验证(即使用“域帐户”),您必须指定Integrated Security=SSPI
。您无法明确指定用户名,SQL将验证运行该连接的进程的帐户(即ASP帐户)。
如果要对连接到您网站的域用户进行身份验证,则必须在应用池中启用模拟并启用约束委派。请参阅How To: Use Protocol Transition and Constrained Delegation in ASP.NET 2.0。
答案 2 :(得分:0)
签出http://www.connectionstrings.com/sql-server-2005他们拥有所有连接字符串以及如何使用可信连接