2016-12-04 2 views
1

Я работаю над проектом в C#/ASP.NET, и я столкнулся с ошибкой, которую я не могу решить. У меня есть база данных, в которой я создал несколько таблиц, и всякий раз, когда приложение пытается открыть базу данных, я получаю следующее сообщение об ошибке:«Невозможно открыть физический файл» при открытии базы данных

"Unable to open the physical file "path\App_Data\Cars.mdf". Operating system error 32: "32(The process cannot access the file because it is being used by another process.)". An attempt to attach an auto-named database for file path\App_Data\Cars.mdf failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share." 

Я SQL Express 2014 установлено, назвал экземпляр «SQLEXPRESS», написал это идентификатор экземпляра в Visual -> Options -> Tools -> Data Connections. В файле web.config, у меня есть:

< connectionStrings>   
< add name="ConnectionString" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename='path\App_Data\Cars.mdf';Integrated Security=True;User Instance=True"/>  
< add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename='path\App_Data\AspnetDB.mdf';Integrated Security=True;User Instance=True"/> 
< /connectionStrings> 

И как я пытаюсь открыть базу данных является:

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Cars.mdf;Integrated Security=True"); 
con.Open(); 

Можете ли вы сказать мне, что делать? Благодаря!

UPDATE: для решения этой проблемы аргумент в SqlConnection должен быть таким же, как ConnectionString в web.config. Теперь есть еще один: когда я пытаюсь открыть базу данных по умолчанию, предоставляемую Visual Studio (с помощью Users, Roles, ecc), я получаю следующую ошибку: База данных «путь \ App_Data \ AspnetDB.mdf» не открывается, поскольку она версия 852. Этот сервер поддерживает версию 782 и ранее. Путь неудачи не поддерживается. Не удалось открыть новую базу данных «путь \ App_Data \ AspnetDB.mdf». CREATE DATABASE прервана. Не удалось выполнить попытку присоединения базы данных с автоименованием для файла file_path \ App_Data \ AspnetDB.mdf. База данных с таким же именем существует, или указанный файл не может быть открыт, или он расположен на долю UNC «Любые идеи

+0

Не подключайтесь к файлу mdf. Вы всегда должны использовать имя базы данных на сервере и IP-адрес сервера (имя) в строке подключения. www.connectionstrings.com. – jdweng

+0

Не могли бы вы сказать мне, где именно я должен изменить? AttachDbFilename в экземпляре SqlConnection? Спасибо! – flaviumanica

+0

Если у вас есть другой вопрос, сделайте еще одно сообщение. –

ответ

0

Взятые от редактирования OP на вопрос:.?

Успели решить, аргумент в SqlConnection должно быть таким же, как ConnectionString в web.config.

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