Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 部署后SQL连接失败:“用户“”的登录失败”_Asp.net_Sql_Iis_Deployment_Connection String - Fatal编程技术网

Asp.net 部署后SQL连接失败:“用户“”的登录失败”

Asp.net 部署后SQL连接失败:“用户“”的登录失败”,asp.net,sql,iis,deployment,connection-string,Asp.net,Sql,Iis,Deployment,Connection String,我的ASP.NET应用程序在部署后出现问题。在调试模式下一切正常,但部署后,任何试图连接到DB的页面都会出现以下错误: 用户登录失败 我的SQLConnection字符串是: sdb.ConnectionString = "Data Source=< SQLServerAddress >;Initial Catalog=sdb;"; 但这会导致类似的错误消息: 用户“\$”登录失败 我是IIS新手,但已经按照指南进行了设置。我的站点正在使用DefaultAppPool,其标识设置为

我的ASP.NET应用程序在部署后出现问题。在调试模式下一切正常,但部署后,任何试图连接到DB的页面都会出现以下错误:

用户登录失败

我的SQLConnection字符串是:

sdb.ConnectionString = "Data Source=< SQLServerAddress >;Initial Catalog=sdb;";
但这会导致类似的错误消息:

用户“\$”登录失败

我是IIS新手,但已经按照指南进行了设置。我的站点正在使用DefaultAppPool,其标识设置为NetworkService,尽管我尝试了ApplicationPoolIdentity,但它似乎没有任何更改

我已经在SQL server中为我的数据库添加了NT AUTHORITY\NETWORK SERVICE帐户以及db\U所有者权限

在身份验证设置下,我将匿名身份验证用户标识设置为应用程序池标识

我已将C:\inetpub\wwwroot文件夹的权限授予网络服务,但这似乎也没有任何帮助

我真的不知道还能尝试什么。我可以看出问题一定是权限或身份的问题,因为在VisualStudio调试中一切都很好,但我不确定问题出在部署后的何处。这是我第一次部署IIS,是为了我大学计算机科学本科项目的一个项目。我在谷歌搜索了一天的大部分时间,并尝试了许多适用的建议,但不幸的是,似乎没有任何效果,我有点不确定现在搜索什么来寻找解决方案

我不确定这是否重要,但我从codebehind连接到我的数据库,要连接的代码以及我如何使用它的一部分如下:

SqlDataSource sdb = new SqlDataSource();
sdb.ConnectionString = "Data Source=< SQLServerAddress >;Initial Catalog=sdb;";
sdb.SelectCommand = "SELECT someAttribute, someOtherAtt FROM SomeTable";
dropDownList.DataSource = sdb;
dropDownList.DataTextField = "someAttribute";
dropDownList.DataValueField = "someOtherAtt";

您应该为您的应用程序创建一个特定的服务帐户,一个您知道其密码和用户名且仅用于此应用程序的AD帐户,然后配置SQL Server以允许连接此AD帐户并授予适当的权限,尝试仅授予应用程序正确运行所需的最低权限集

然后回到部署应用程序的web服务器,创建一个应用程序池,该应用程序池模拟刚才创建的广告服务帐户运行,最后设置网站/web应用程序以与该应用程序池一起运行


祝你好运。

使用此链接创建sql server用户,并在webconfig中的连接字符串上添加用户名和密码

在webconfig文件中,按如下方式添加连接钉

<connectionStrings>
<add name="myConnectionString" connectionString="server=SQLServerAddress;database=sdb;uid=myUser;password=myPass;" />
</connectionStrings>

正在尝试连接的服务器是否启用Windows身份验证?如果SQL Server数据库确实支持它,则必须在连接字符串中提供有效的用户ID和密码。您好,谢谢您的回答。对不起,我不熟悉术语广告帐户,这是管理员帐户吗?我创建它的方式是否与创建普通用户帐户的方式相同?我理解并可以尝试您的其他解决方案。谢谢您的时间。您是否在使用Active Directory域的网络中?如果是,则AD帐户是管理员可以在域控制器计算机上创建的active directory帐户。如果您的网络没有Active Directory域,很遗憾,我的回答对您没有帮助。很可能,我们正在尝试部署此域的网络是大学网络。我会问网络管理员,他是否可以为我们设置一个帐户。再次感谢。在codebehind上,您必须从webconfig文件获取连接。
<connectionStrings>
<add name="myConnectionString" connectionString="server=SQLServerAddress;database=sdb;uid=myUser;password=myPass;" />
</connectionStrings>