我开发了一个ASP.Net网站。我面临的问题是当我使用web.config中的连接字符串在我的系统上的IIS中运行应用程序时(“Data Source =。\; Initial Catalog = ITS; Integrated Security = True”)它运行良好。我连接到数据库并显示数据。
我已使用IIS中的ASP.NET包在域计算机上安装了数据库。这里的问题是它没有连接到数据库。我试图使用像这样的连接字符串“Data Source =。\; Initial Catalog = ITS; UID = S1 \ ISLWW74562S; PWD = delta $%67; Integrated Security = True”
其中S1是域名,ISLWW74562S是用户名。
它给出了一个错误,找不到登录S1 \ ISLWW74562S $
任何人都可以帮助我如何以及在域计算机上使用连接字符串的正确方法。
由于
答案 0 :(得分:2)
从连接字符串中删除UID = S1 \ ISLWW74562S; PWD = delta $%67,而在IIS中,为您的网站创建一个特殊的应用程序池,并将此类应用程序池配置为在域帐户下运行。
查看this,了解如何设置应用程序池以使用自定义帐户。
此外,请确保您使用的域帐户具有您要使用的SQL数据库所需的访问权限。
如果您使用的是Microsoft SQL Server,则需要使用SQL管理工作室为域用户创建新的登录名,并为其提供对您正在使用的数据库的适当访问权。
答案 1 :(得分:2)
使用集成安全性时,无法指定用户名和密码。 Sql Server不允许您这样做。相反,它正在寻找由域控制器发出的令牌,这就是它将接受的全部内容。
您可以使用IIS中的Impersonation功能或通过将IIS的应用程序池设置为以该用户帐户身份运行来为您的应用程序获取此类令牌。