1

我有一个用 ASP.NET 编写的网站,并试图在 Windows 7 上部署它。

我已成功部署该网站并且它运行良好,直到我尝试访问连接到数据库的页面。显示以下错误:

“/”应用程序中的服务器错误。


无法打开登录请求的数据库“银行”。登录失败。用户“IIS APPPOOL\ASP.NET v4.0”登录失败。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:无法打开登录请求的数据库“银行”。登录失败。用户“IIS APPPOOL\ASP.NET v4.0”登录失败。

源错误:在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[SqlException(0x80131904):无法打开登录请求的数据库“银行”。登录失败。用户 'IIS APPPOOL\ASP.NET v4.0' 登录失败。] System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔型 breakConnection) +6351920 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +412 系统。 Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1363 System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +53 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover( ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions,


版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.272

我使用以下过程在 IIS 中部署网站:

  1. 转到桌面/代码/Info_Leakage_Vulnerable
  2. 复制 Info_Leakage_Vulnerable
  3. 转到 C:/inetpub/wwwroot
  4. 将文件夹粘贴到那里
  5. 打开开始菜单
  6. 输入 inetmgr
  7. 打开 HOME-PC/站点
  8. 右键单击站点,然后单击添加网站

站点名称 = Info_Leakage_Vulnerable

应用程序池 = ASP.NET 版本 4

物理路径 = C:/inetpub/wwwroot/Info_Leakage_Vulnerable 中文件夹的路径

端口 = 1000

  1. 右键单击网站菜单中的 Info_Leakage_Vulnerable,然后单击切换到内容视图
  2. 单击 HomePage.aspx,然后单击浏览

该网站在 Visual Studio 中完美运行。从 IIS 运行网站时,我遇到的问题突然出现。请问如何解决数据库连接的问题?谢谢

4

1 回答 1

2

在数据库中执行以下查询master。您必须为IIS APPPOOL\ASP.NET v4.0

CREATE LOGIN [IIS APPPOOL\ASP.NET v4.0] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
GO

CREATE LOGIN [NT AUTHORITY\NETWORK SERVICE] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
GO

如果执行查询后仍然遇到问题,请按照以下步骤操作

  1. 在 IIS 中选择ASP.NET v4.0应用程序池Applications Pools
  2. 右键ASP.NET v4.0-->选择Advanced Settings...
  3. 在 Process Model 部分下,将 Identity 值更改为LocalSystem
  4. iis重置

希望这可以帮助。

于 2012-11-09T16:20:12.073 回答