无法从IIS打开数据库错误

时间:2012-12-02 02:29:25

标签: c# asp.net iis webforms

您好我刚刚尝试在IIS上第一次运行我的应用程序fopr。 在Visual Studio上开发时,所有工作都可以找到,但是当我将应用程序添加到IIS时,我收到了这个错误:

    Cannot open user default database. Login failed.
    Login failed for user 'IIS APPPOOL\forum'.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

    Exception Details: System.Data.SqlClient.SqlException: Cannot open user default database.

当我从visual studio运行网站时,我应该怎么做?

修改

我做了更多的挖掘,我设法发现我需要将我的应用程序池标识设置为NetworkService我做了,但现在我又遇到了另一个错误:

  

无法打开物理文件“D:\ Projects IDE \ Visual Studio \ MyWork \ Websites \ Forum \ App_Data \ ASPNETDB.MDF”。操作系统错误5:“5(访问被拒绝。)”。   尝试为文件D:\ Projects IDE \ Visual Studio \ MyWork \ Websites \ Forum \ App_Data \ ASPNETDB.MDF附加自动命名的数据库失败。存在具有相同名称的数据库,或者无法打开指定的文件,或者它位于UNC共享上。

2 个答案:

答案 0 :(得分:1)

请检查两个地方 1访问NetworkService标识的文件夹(IIS应用程序池的默认设置)或此文件夹(IIS APPPOOL \ forum) 2连接字符串凭证。如果有“综合安全”。在那里提供特定用户和密码。

答案 1 :(得分:0)

我收到了这个非显式错误,因为我将应用程序池设置为.NET 2.0而不是.NET 4.0负责身份验证的服务。通常,当框架不正确时,会显示关于未识别的框架.dll的不同类型的错误,但在这种情况下不会。如果发生这种情况,请检查以下内容:

  1. IIS APPPOOL之后的值是当前进程运行的应用程序池的名称。在您的情况下,有一个名为forum的AppPool。
  2. 检查应用程序池是否正在使用正在运行的应用程序所需的更正管道和.NET Framework。