Итак, в основном я разработал это приложение ASP.Net MVC на Windows 7 с Visual Studio 2008. Он хорошо работает на локальной машине, и я смог разместить его в IIS, не беспокоясь. Затем я решил загрузить его в Subversion и загрузить на другом компьютере с Windows Server 2008. Я загрузил его, установил в корневой папке документа IIS папку приложения и запустил его.
Хорошо, я могу зайти на сайт. Однако, как только ему нужно что-то сделать с базой данных SQL, я получаю следующую ошибку:
При установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске сервера / указан экземпляр)
Моя строка подключения к базе данных SQL выглядит следующим образом:
<add name="UserClaimsConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\UserClaims.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
Ошибка вызывает колебание о разрешении удаленных подключений, но база данных является локальной! Кроме того, когда я смотрю на StackTrace ошибки, я вижу что-то странное в одной части:
OpenIdProviderMvc.Models.ClaimRepository.ResetAutoSend(String upi) in C:\OpenIdProviderMvc\Models\ClaimRepository.cs:40
Каталог, на который он ссылается, находится там, где я его хранил ... в окне разработки! Он хранится в другом месте на сервере Windows 2008.
Где я ошибся при переносе этого проекта?
EDIT:
Вот полная трассировка стека, чтобы предоставить немного дополнительной информации.
[SqlException (0x80131904): при установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске сервера / указан экземпляр)]
System.Data.SqlClient.SqlInternalConnection.OnError (исключение SqlException, логическое прерывание соединения) +4846887
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Connect (ServerInfo serverInfo, SqlInternalConnectionTds connHandler, логическое значение ignoreSniOpenTimeout, Int64 timerExpire, логическое шифрование, логическое значение trustServerCert, логическое интегрированноеSecurity + SqlConnection486)
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin (ServerInfo serverInfo, String newPassword, логический ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +90
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover (Строковый хост, String newPassword, логический redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +376
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist (SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, логическое перенаправленноеUserInstance) +221
System.Data.SqlClient.SqlInternalConnectionTds..ctor (идентификатор DbConnectionPoolIdentity, SqlConnectionString connectionOptions, поставщик объектаInfo, строка newPassword, SqlConnection owningObject, логический redirectedUserInstance) +189
System.Data.SqlClient.SqlConnectionFactory.CreateConnection (параметры DbConnectionOptions, Object poolGroupProviderInfo, пул DbConnectionPool, DbConnection owningConnection) +4861315
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection (DbConnection owningConnection, пул DbConnectionPool, параметры DbConnectionOptions) +31
System.Data.ProviderBase.DbConnectionPool.CreateObject (DbConnection owningObject) +433
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest (DbConnection owningObject) +66
System.Data.ProviderBase.DbConnectionPool.GetConnection (DbConnection owningObject) +499
System.Data.ProviderBase.DbConnectionFactory.GetConnection (DbConnection owningConnection) +65System.Data.ProviderBase.DbConnectionClosed.OpenConnection (DbConnection externalConnection, DbConnectionFactory connectionFactory) +117
System.Data.SqlClient.SqlConnection.Open () +122
System.Data.Linq.SqlClient.SqlConnectionManager.UseConnection (пользователь IConnectionUser) +44
System.Data.Linq.SqlClient.SqlProvider.get_IsSqlCe () +45
System.Data.Linq.SqlClient.SqlProvider.InitializeProviderMode () +20
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute (запрос выражения) +57
System.Data.Linq.DataQuery 1.System.Collections.Generic.IEnumerable<T>.GetEnumerator() +35
OpenIdProviderMvc.Models.ClaimRepository.ResetAutoSend(String upi) in C:\Downloads\DotNetOpenAuth-3.3.1.9337\OpenIdProviderMvc\Models\ClaimRepository.cs:40
OpenIdProviderMvc.Controllers.AccountController.LogOn(String userName, String password, String returnUrl, Boolean resetAttributeRelease) in C:\Downloads\DotNetOpenAuth-3.3.1.9337\OpenIdProviderMvc\Controllers\AccountController.cs:66
lambda_method(ExecutionScope , ControllerBase , Object[] ) +245
System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +17
System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary
2 параметра) +178
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod (ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary 2 parameters) +24
System.Web.Mvc.<>c__DisplayClassa.<InvokeActionMethodWithFilters>b__7() +53
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func
1 продолжение) +258
System.Web.Mvc. <> C__DisplayClassc.b__9 () +20
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters (ControllerContext controllerContext, параметры IList 1 filters, ActionDescriptor actionDescriptor, IDictionary
2) +193
System.Web.Mvc.ControllerActionInvoker.InvokeAction (ControllerContext controllerContext, String actionName) +382
System.Web.Mvc.Controller.ExecuteCore () +123
System.Web.Mvc.ControllerBase.Execute (RequestContext requestContext) +23
System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute (RequestContext requestContext) +7
System.Web.Mvc.MvcHandler.ProcessRequest (HttpContextBase httpContext) +144
System.Web.Mvc.MvcHandler.ProcessRequest (HttpContext httpContext) +54
System.Web.Mvc.MvcHandler.System.Web.IHttpHandler.ProcessRequest (HttpContext httpContext) +7
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute () +181
System.Web.HttpApplication.ExecuteStep (шаг IExecutionStep, логическое и завершено синхронно) + 75