2014-12-24 2 views
-1

Когда я запускаю свой проект с моего локального компьютера, я могу просто подключиться к базе данных. когда я его публикую, я получаю сообщение об ошибке (ниже). Я считаю, что проблема связана с пулом приложений, но не могу понять, что это такое.Приложение mvc не может подключиться к базе данных

это свежая установка всего, вплоть до OS

Идентичность - ApplicationPoolIdentity

Строка соединения

<add name="SPA_Impact_Reporting_TestEntities" connectionString="metadata=res://*/newRack.csdl|res://*/newRack.ssdl|res://*/newRack.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=serverip;initial catalog=dbname;persist security info=True;user id=user;password=pass;MultipleActiveResultSets=T rue;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /></connectionStrings> 

ОШИБКА

Информация о процессе: Process ID: 5872 Имя процесса: w3wp.exe Имя учетной записи: IIS APPPOO L \ DefaultAppPool

Сведения об исключении: Тип исключения: SqlException Сообщение об исключении: при установлении соединения с SQL Server произошла ошибка сети связанных или экземпляра конкретных. Сервер не найден или не был доступен. Проверьте правильность имени экземпляра и настройте SQL Server для удаленного подключения. (поставщик: поставщик Named Pipes, ошибка: 40 - не удалось открыть соединение с SQL Server) в System.Data.SqlClient.SqlInternalConnection.OnError (исключение исключения SqlException, логическое прерывание, действие 1 wrapCloseInAction) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource 1 повтор, DbConnectionOptions userOptions, DbConnectionInternal & соединение) на System.Data.ProviderBase.DbConnectionFactory.TryGetConnection (DbConnection owningConnection, TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 повторов, DbConnectionOptions userOptions) на System.Data.SqlClient.SqlConnection.TryOpenInner (TaskCompletionSource 1 retry) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1) повторов в System.Data.SqlClient.SqlConnection. Открыть() в System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf (Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection , String ExceptionCode, String attemptedOperation, Boolean & closeStoreConnectionOnFailure)

сетевой путь не найден

Server Error in '/spadashboard' Application. 

Время ожидания истекло. Период ожидания истекает до получения соединения из пула. Возможно, это произошло из-за того, что все объединенные соединения использовались и максимальный размер пула был достигнут.

Описание: Необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.

Сведения об исключении: System.InvalidOperationException: время ожидания истекло. Период ожидания истекает до получения соединения из пула. Возможно, это произошло из-за того, что все объединенные соединения использовались и максимальный размер пула был достигнут.

Источник ошибки:

Необработанное исключение при выполнении текущего веб-запроса. Информация о происхождении и местоположении исключения может быть идентифицирована с использованием следа стека исключений ниже.

Трассировка стека:

[InvalidOperationException: Время ожидания истекло.Период ожидания истекает до получения соединения из пула. Это может произойти, потому что все объединенные соединения были в использовании и был достигнут максимальный размер пула.] System.Data.ProviderBase.DbConnectionFactory.TryGetConnection (DbConnection owningConnection, TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) +6600161 System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource 1 повторных попыток, DbConnectionOptions userOptions) +6600667 System.Data.SqlClient. SqlConnection.TryOpenInner (TaskCompletionSource 1 retry) +233 System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1 повторных попыток) +278 System.Data.SqlClient.SqlConnection.Open() +239 System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf (булево openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, Строка ExceptionCode, Строка attemptedOperation , Boolean & closeStoreConnectionOnFailure) +99

[EntityException: Основной поставщик потерпел неудачу на Open.] System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf (булево openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, Строка ExceptionCode, Строка attemptedOperation, булева & closeStoreConnectionOnFailure) +10948975 System.Data.EntityClient.EntityConnection.Open() +136 System.Data.Objects.ObjectContext.EnsureConnection() +91 System.Data.Objects.ObjectContext.ExecuteStoreQueryInternal (String commandText, String entitySetName, MergeOption mergeOption, Object [] parameters) +109 System.Data. Objects.ObjectContext.ExecuteStoreQuery (параметры String commandText, Object []) +87 System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery (String sql, Object [] parameters) +118 System.Data.Entity.Internal.InternalContext.ExecuteSqlQueryAsIEnumerable (String sql, Object [] parameters) +85 System.Data.Entity.Internal.InternalContext.ExecuteSqlQuery (Тип elementType, String sql, Object []) +260 System.Data.Entity.Internal.InternalSqlNonSetQuery.GetEnumerator() +34 System.Data.Entity.Internal.InternalSqlQuery 1.GetEnumerator() +28 System.Linq.Enumerable.FirstOrDefault(IEnumerable 1 источник) +220 SPADash.Controllers.AccountsController.checkLogin (usrlogin креди) +151 lambda_method (Закрытие, ControllerBase, Object []) +127 System.Web.Mvc.ReflectedActionDescriptor.Execute (controllerContext controllerContext, IDictionary 2 parameters) +242 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 параметры): +39 System.Web.Mvc.Async.AsyncControllerActionInvoker.b__39 (IAsyncResult AsyncResult, ActionInvocation innerInvo keState) +12 System.Web.Mvc.Async.WrappedAsyncResult 2.CallEndDelegate(IAsyncResult asyncResult) +139 System.Web.Mvc.Async.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d() +112 System.Web.Mvc.Async.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f() +452 System.Web.Mvc.Async.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult) +15 System.Web.Mvc.Async.<>c__DisplayClass2b.<BeginInvokeAction>b__1c() +37 System.Web.Mvc.Async.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult) +241 System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +29 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate (IAsyncResult AsyncResult) +111 System.Web.Mvc.Controller.EndExecuteCore (IAsyncResult AsyncResult) +74 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +19 System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState) +51 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate (IAsyncResult AsyncResult) +111 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +606 System.Web.HttpApplication.ExecuteStep (IExecutionStep шаг, булева & completedSynchronously) +288

Информация о версии: Microsoft .NET Framework Версия: 4.0.30319; ASP.NET Версия: 4.0.30319.34212

+0

Журналы ошибок говорят о необходимых вещах. Вы должны искать сначала. -1 для этого. –

+0

http://stackoverflow.com/search?q=sql+40+%5Bmssql%5D –

+0

Возможный дубликат [Как исправить ошибку "Поставщик именованных труб, ошибка: 40 - Не удалось открыть соединение с SQL Server"] (http://stackoverflow.com/questions/3841056/how-to-fix-error-named-pipes-provider-error-40-could-not-open-a-connection) –

ответ

1

Хорошо, давайте попробуем, изменим идентификатор пула приложений из «AppPoolIdentity» в «LocalSystem» или «NetworkService». Смотрите, если это делает вопрос уходить

изменить его пойти работать >> INETMGR и нажмите клавишу ВВОД

вы должны увидеть Iis консоли.

с левой стороны вы можете увидеть пул приложений, щелкнув по нему мышью, и справа от вас на экране вы увидите, как установить пул приложений по умолчанию, щелкните по нему, появится всплывающее окно со множеством свойств для и выберите localsystem или сетевой сервис, и если вы выбрали локальную учетную запись пользователя службы на машине, убедитесь, что вы предоставили разрешение локальной службы в своей опубликованной папке.

+0

Я тоже пробовал обе эти учетные записи. no luck – user1813251

+0

Пусть .net сделает пул для вас и откроет/закрывает ваше соединение с помощью оператора. Предложения: Всегда открывать и закрывать соединение, как это, так .net может управлять подключениями, и вы не будете запускать из соединений: используя (SqlConnection сопп = новый SqlConnection (ConnectionString)) { подкл. Открыто(); // делаем некоторые вещи} Как я уже упоминал, проверьте свой запрос с помощью профилировщика sql-сервера и посмотрите, можете ли вы его оптимизировать. Наличие медленного запроса со многими запросами в веб-приложении также может дать эти таймауты. –