2013-12-09 2 views
17

Я видел много вопросов о SO с этой ошибкой. Но ни одна из них не была связана с формами. Я просто размещал сервер приложений после тестирования локально. Я думаю, что это сработало несколько минут, но я не уверен, поскольку я, возможно, некоторое время смотрел на вкладку localhost. Затем он прекратил работать. Возможно, я что-то изменил, так как делал изменения и на сервере.«Система не может найти указанный файл»

Я проверил свою строку подключения, а также попытался войти в БД другими способами, и он находится в сети. Итак, любые подсказки, что может быть неправильным. Я не думаю, что возможно, что сервер sql не отвечает на запросы из приложения и доступен, если вы входите в систему через SSMS.

Ниже приведена ошибка.

Server Error in '/' Application.

The system cannot find the file specified

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.ComponentModel.Win32Exception: The system cannot find the file specified

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[Win32Exception (0x80004005): The system cannot find the file specified]

[SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 52 - Unable to locate a Local Database Runtime installation. Verify that SQL Server Express is properly installed and that the Local Database Runtime feature is enabled.)]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action 1 wrapCloseInAction) +5296071 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +558
System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) +5308555
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +145
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +920
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +307
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions) +434
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +225
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +37
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnectionOptions userOptions) +558
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnectionOptions userOptions) +67
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +1052
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource
1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +78
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource 1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +167
System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource
1 retry, DbConnectionOptions userOptions) +143
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource 1 retry) +83 System.Data.SqlClient.SqlConnection.Open() +96
System.Data.SqlClient.SqlProviderServices.UsingConnection(SqlConnection sqlConnection, Action
1 act) +79
System.Data.SqlClient.SqlProviderServices.UsingMasterConnection(SqlConnection sqlConnection, Action`1 act) +384
System.Data.SqlClient.SqlProviderServices.GetDbProviderManifestToken(DbConnection connection) +241
System.Data.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection) +26

[ProviderIncompatibleException: The provider did not return a ProviderManifestToken string.]
System.Data.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection) +170
System.Web.Providers.ModelHelper.GetStorageMetadata(String providerName, DbConnection connection, String ssdl) +35
System.Web.Providers.ModelHelper.CreateMetadataWorkspace(String providerName, DbConnection connection, String csdl, String ssdl, String msl) +154
System.Web.Providers.ModelHelper.CreateEntityConnection(ConnectionStringSettings setting, String csdl, String ssdl, String msl) +109
System.Web.Providers.ModelHelper.CreateMembershipEntities(ConnectionStringSettings setting) +28
System.Web.Providers.DefaultMembershipProvider.GetPasswordWithFormat(String userName, Boolean updateLastLoginActivityDate, Int32& status, String& password, Int32& format, String& salt, Int32& failedPasswordAttemptCount, Int32& failedPasswordAnswerAttemptCount, Boolean& isApproved, DateTime& lastLoginDate, DateTime& lastActivityDate) +118
System.Web.Providers.DefaultMembershipProvider.CheckPassword(String userName, String password, Boolean updateLastActivityDate, Boolean failIfNotApproved, String& salt, Int32& passwordFormat) +81
System.Web.Providers.DefaultMembershipProvider.ValidateUser(String username, String password) +105
System.Web.Security.Membership.ValidateUser(String username, String password) +26 Staff.Web.Account.Login.OnAuthenticate(Object sender, AuthenticateEventArgs e) in c:\Assembla\SVN\servicesdue\Staff.Web\Staff.Web\Account\Login.aspx.cs:28 System.Web.UI.WebControls.Login.OnAuthenticate(AuthenticateEventArgs e) +9449786 System.Web.UI.WebControls.Login.AttemptLogin() +119
System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +75 System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +37
System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +114
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +159
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18055

У кого-то также была эта ошибка, и они сказали, что использовали неправильный магазин для подключения к БД и, следовательно, ошибки. У меня только один магазин в моем коде. Там нет другого.

Обновление:

Я нашел проблему. Это членство. Что-то не так с моей строкой подключения к членству. Но я не знаю, что. Мое приложение требует регистрации, поэтому аутентификация включена. Я оставил настройки по умолчанию. Также опубликован файл mdf в папке App_Data. Здесь есть аналогичный вопрос: Deploying ASP.NET membership to Godaddy. Но решение не ясно и ответ отмечен. Я добавил в строку подключения, и я вижу ошибку

The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty.

Итак, что я должен делать? Это членство работает безупречно на местном уровне.

Update:

Я также попробовал, что это один предлагает Godaddy ASP.NET membership database woes. Я удалил строку conn и добавил имя «LocalSqlServer», чтобы сделать Godaddy счастливым. Затем я удалил и добавил следующее с этим соединениемStringName - DefaultProfileProvider, DefaultMembershipProvider, DefaultRoleProvider и DefaultSessionProvider. По-прежнему получить ту же ошибку системы не удается найти указанный файл.

+0

Что находится в вашем файле defaultConnectionFactory в web.config? У меня также есть одна и та же проблема, и я считаю, что она связана с defaultConnectionFactory. –

+0

. Я столкнулся с несколькими проблемами и разрешил все. Не уверен, что это было, но это не было связано с defaultConnectionFactory. Я думаю, что эта ошибка была там, где у меня есть TrustedConnection = true в конфиге. – strider

ответ

21

При установлении соединения с SQL Server возникла связанная с сетью или конкретная ошибка экземпляра. Сервер не найден или не был доступен. Текст

Обычно такие вопросы, как это связано с какой-либо из следующих должны быть рассмотрены в:

  • настройки брандмауэра с веб-сервера на сервер базы данных
  • ошибки строки подключения
  • включить соответствующие протокольные трубы/tcp-ip

Попробуйте подключиться к серверу sql с сервером управления sql в системе, в которой установлен сервер sql o n и работать оттуда. Обратите внимание на информацию в журналах ошибок.

+0

Кажется, я не могу использовать файл .mdf на рабочем сервере. SQL-сервер должен быть настроен для членства. Наверное, это проблема. – strider

+0

Отмечено это как ответ, поскольку это очень близко к фактической проблеме, которую я имел. – strider

+0

@strider у нас есть аналогичная проблема? Какова была проблема вашего дела? –

7

У меня такая же ошибка после публикации моего проекта на моем физическом сервере. Мое веб-приложение отлично работает на моем компьютере, когда я компилирую на VS2013. Когда я проверил строку подключения в SQL Server Manager, все работает отлично и на сервере. Я также проверил брандмауэр (я отключил его). Но все равно не получилось.Я дистанционно пытаюсь подключить базу данных SQL Manager с точно таким же именем пользователя/pass и экземпляром etc с протоколом pipe/tcp, и я увидел, что все работает нормально. Но когда я пытаюсь открыть сайт, я получаю эту ошибку. Кто-нибудь знает 4-й вариант для устранения этой проблемы ?.

Примечание: My App: ASP.NET 4.5 (by VS2013), сервер: Windows 2008 R2 64bit, SQL: MS-SQL WEB 2012 SP1 Также другие веб-приложения прекрасно работает на веб-браузеров с их базы данных на одном сервере.


Через день страданий я нашел решение моей выдачи:

Сначала я проверил все журналы и другие детали, но я не мог найти ничего. Вдруг я это признаю; когда я пытаюсь использовать строку подключения, которая напрямую подключается к опубликованной базе данных и запускает приложение на моем компьютере VS2013, я видел, что он подключает другой файл базы данных. Я проверил локальные каталоги, и я нашел его. Идентификация ASP.NET не использует мою строку подключения, как я писал в файле web.config. И из-за этого VS2013 создает или подключает новую базу данных с именем «DefaultConnection.mdf» в папке App_Data. Затем я нашел решение, оно было в IdentityModel.cs.

Я изменил код, как это:

public class ApplicationUser : IdentityUser 
{ 
} 

public class ApplicationDbContext : IdentityDbContext<ApplicationUser> 
{ 
    //public ApplicationDbContext() : base("DefaultConnection") ---> this was original 
    public ApplicationDbContext() : base("<myConnectionStringNameInWebConfigFile>") //--> changed 
    { 
    } 
} 

Так, в конце концов, я заново построил и опубликовал свой проект и теперь отлично все работает :)

+0

И как именно вы получили альтернативную строку соединения? Доступно ли это из портала Azure? Где? –

+0

Я периодически получаю эту ошибку с опубликованным приложением. Я проверил ApplicationDbContext, и это было неправильно. Я внес правильные изменения, и все получилось. Опять же, это было прерывистым (я бы предположил, что это было бы согласуется с такой ошибкой), но, надеюсь, я снова не получу эту ошибку. Спасибо –

-1

Наиболее распространенной причиной может быть соединение с базой данных строка. Вы должны изменить строку подключения attachDBFile = | DataDirectory | file_name.mdf. может быть проблема с именем хоста, которое будет (локальным), localhost или. \ Sqlexpress.

1

Если вы столкнулись с этой ошибкой в ​​GoDaddy после развертывания веб-приложения .Net MVC .. И ваш web.config абсолютно прав ... Щелкните правой кнопкой мыши ваши настройки выбора проекта данных и убедитесь, что правильные строки подключения к GoDaddy сервер используется

+0

Спасибо, ваш маленький комментарий мне очень помогает – Moshii

0

Server Error in '/' Application.

The system cannot find the file specified

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.ComponentModel.Win32Exception: The system cannot find the file specified

Source Error:

 { 
        SqlCommand cmd = new SqlCommand("select * from tblemployee",con); 
        con.Open(); 
        GridView1.DataSource = cmd.ExecuteReader(); 
        GridView1.DataBind(); 

Source File: d:\C# programs\kudvenkat\adobasics1\adobasics1\employeedata.aspx.cs Line: 23

если ваша ошибка такая же, как mine..just сделать это

правой кнопкой мыши на вашем столе в объекте SQLServer исследователю, выберите свойства в нижнем левом углу в общем вариант там является соединительным блоком с сервером и спецификация соединения. В вашей веб-конфигурации для datasource =. или локальное имя, указанное на сервере в свойствах.

1

У меня была такая же проблема - для меня это был SQL Server, на котором закончилась нехватка памяти. Освобождение памяти решило проблему

+0

Yeap. Это также сработало для меня. – kord

0

Я получил эту ошибку при запуске приложения ASP.NET, и в моем случае проблема заключалась в том, что служба SQL Server не была запущена. Начав это, выяснилось.

0

запуска агента SQL Server, который должен исправить вашу проблему

0

Учитывая, что экземпляр LocalDB предназначен только для использования в разработке. LocalDb не доступен для производственных серверов. При развертывании конечного результата.

Я думаю, что ваша строка подключения указывает на пример LocalDb, и вам нужно предпринять определенные шаги, чтобы превратить его в базу данных SQL Server. Это не просто копирование файла mdf. Он, возможно, будет отличаться от одной хостинговой компании к другой, но, как правило, вам необходимо создать резервную копию существующей базы данных (файл .bak), а затем восстановить ее на SQL Server хостинговой компании. Вы должны спросить их, где вы можете найти инструкции по развертыванию вашей базы данных в производство.

 Смежные вопросы

  • Нет связанных вопросов^_^