应用程序中'/'服务器错误。如何修复SQL服务器到IIS连接错误



'/'应用程序中的服务器错误
无法打开数据库"projectAdelet2";登录时请求。登录失败
用户"IIS APPPOOL\DefaultAppPool"登录失败。

描述:在执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误以及错误在代码中的来源的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:无法打开数据库"projectAdelet2";登录时请求。登录失败。用户"IIS APPPOOL\DefaultAppPool"登录失败。

来源错误:

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

堆栈跟踪:

[SqlException(0x80131904):无法打开登录请求的数据库"projectAdelet2"。登录失败。
用户"IIS APPPOOL\DefaultAppPool"登录失败。]

System.Data.SqlClient.SqlInternalConnectionTds.ctor(DbConnectionPoolIdentity标识、SqlConnectionString连接选项、SqlCredential凭据、对象提供者信息、字符串newPassword、SecureString newSecurePassword、布尔重定向用户实例、SqlConnectionStringuserConnectionOptions、SessionData reconnectionSessionData、DbConnectionPool池、字符串访问令牌、布尔应用程序TransientFaultHandling、SqlAuthenticationProviderManager sqlAuthProviderManager)+1524System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions选项,DbConnectionPoolKey poolKey,Object poolGroupProviderInfo,DbConnectionPool池,DbConnection owningConnection,DbConnectionOptions userOptions)+467System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool池,DbConnection owningObject,DbConnectionOptions选项,DbConnectionPoolKey poolKey,DbConnectionOptions userOptions)+70System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject,DbConnectionOptions userOptions,DbConnectionInternal oldConnection)+940System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject,DbConnectionOptions userOptions,DbConnectionInternal oldConnection)+111System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,UInt32 waitForMultipleObjectsTimeout,Boolean allowCreate,Boolean onlyOneCheckConnection,DbConnectionOptions userOptions,DbConnectionInternal&connection)+1567System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject,TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +118 System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource1 retry,DbConnectionOptions userOptions,DbConnectionInternal oldConnection,DbConnectionInternal&connection)+268System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection,DbConnectionFactory connectionFactory,TaskCompletionSource1 retry, DbConnectionOptions userOptions) +315 System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource1重试)+128System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource1 retry) +265 System.Data.SqlClient.SqlConnection.Open() +133 System.Data.Entity.Infrastructure.Interception.InternalDispatcher1.Dispatch(TTarget target,Action2 operation, TInterceptionContext interceptionContext, Action3 executing,Action3 executed) +104 System.Data.Entity.Infrastructure.Interception.DbConnectionDispatcher.Open(DbConnection connection, DbInterceptionContext interceptionContext) +503 System.Data.Entity.SqlServer.<>c__DisplayClass1.<Execute>b__0() +18 System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Func1 operation)+234System.Data.Entity.Core.EntityClient.EntityConnection.Open()+321

[EntityException:基础提供程序在打开时失败。]System.Data.Entity.Core.EntityClient.EntityConnection.Open()+741System.Data.Entity.Core.Objects.ObjectContext.EnsureConnection(布尔值shouldMonitorTransactions)+167System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction(Func1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess) +63 System.Data.Entity.Core.Objects.<>c__DisplayClass7.<GetResults>b__5() +203 System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute(Func1操作)+234System.Data.Entity.Core.Objects.ObjectQuery1.GetResults(Nullable1 for MergeOption)+357System.Data.Entity.Core.Objects.ObjectQuery1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__0() +30 System.Data.Entity.Internal.LazyEnumerator1.MoveNext()+39System.Linq.Enumerable.LastOrDefault(IEnumerable1 source) +239 Proview.Controllers.GirisController.Giris(GirisViewModel model) +112 lambda_method(Closure , ControllerBase , Object[] ) +139 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary2参数)+280System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext ControllerContext,ActionDescriptor ActionDescriptor,IDictionary `2个参数)+35System.Web.Mvc.Async。<gt;c_DisplayClass42.b_41()+33System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult-asyncResult)+42System.Web.Mvc.Async。<gt;c_DisplayClass39.b_33()+80System.Web.Mvc.Async。<gt;c_DisplayClass4f.b_49()+396System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult-asyncResult)+42System.Web.Mvc.Async。<gt;c_DisplayClass2a.b_20()+32System.Web.Mvc.Async。<gt;c_DisplayClass25.b_22(IAsyncResult asyncResult)+187System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult-asyncResult)+38System.Web.Mvc.<gt;c_DisplayClass1d.b_18(IAsyncResult asyncResult)+30System.Web.Mvc.Async。<gt;c_DisplayClass4.b_3(IAsyncResult ar)+25System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult-asyncResult)+52System.Web.Mvc.Async。<gt;c_DisplayClass4.b_3(IAsyncResult ar)+25System.Web.Mvc.Controller.EndExecute(IAsyncResult-asyncResult)+38System.Web.Mvc.<gt;c_DisplayClass8.b_3(IAsyncResult asyncResult)+44System.Web.Mvc.Async。<gt;c_DisplayClass4.b_3(IAsyncResult ar)+25System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult-asyncResult)+38System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+431System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep步骤)+75System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,Boolean和completedSynchronously)+158

您可以尝试以下方法之一来解决此错误:

  1. 在sql server数据库中添加iis应用程序池用户

  2. 将iis应用程序池设置为具有足够权限访问sql数据库的用户的自定义标识:

为此,

  • 打开iis服务器,右键单击应用程序池并选择"高级设置"。

  • 在"流程模型"下选择"标识"。

  • 选择"自定义帐户"并选择"设置"以设置可以访问SQL Server数据库的帐户。

最新更新