Попытка присоединения ошибки базы данных с автоматическим именем

" попытка прикрепить автоматически именованную базу данных к файлу C:UsersJohndocumentsvisual studio 2010проектыPASPASbinDebug//PatAddSys.МДФ не удалось. База данных с таким именем уже существует, или указанный файл не может быть открыт, или он находится на общем ресурсе UNC."

что здесь не так? У меня есть правильный код для моего пути (я думаю), но все же эта ошибка возникает вот мой путь к базе данных

private string dbPath = Application.StartupPath + "//PatAddSys.mdf";

вот расположение моей базы данных

enter image description here

6 ответов


попробуйте задать свойству экземпляра пользователя в строке подключения значение true. Вам нужно добавить это в строку подключения:

User Instance=True

также, чтобы убедиться, снова проверьте сервер базы данных, поскольку он может уже содержать базу данных с тем же именем.

надеюсь, что это поможет.


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

выберите базу данных, которая находится в "обозревателе серверов" затем скопируйте строку подключения, как точно видно в ее свойствах, а затем используйте ее в кодах.

enter image description here

затем в течение текущего рабочего каталога используйте тот же путь без имени базы данных. Решение - > свойства - > отладка - это где текущий рабочий каталог путь находится по адресу. Это работает для visual studio 2015.

Я использую строку подключения, как это

Private constr As String = "Data Source = (LocalDB)\MSSQLLocalDB;AttachDbFilename=" +
        Directory.GetCurrentDirectory() + "\DBNAME.mdf;" +
        "Integrated Security=True;Connect Timeout=30;User Instance=False"

Я думаю, что это может быть очень поздно, но

эта строка дает мне выше ошибка

<add name="MAB_ERP_2_0.Properties.Settings.MyConnection" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=Database\MabErp2.mdf;Integrated Security=true;"
        providerName="System.Data.SqlClient" />

но если добавить |каталог данных| перед именем базы данных, то он работает нормально

<add name="MAB_ERP_2_0.Properties.Settings.MyConnection" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database\MabErp2.mdf;Integrated Security=true;"
        providerName="System.Data.SqlClient" />

ДЛЯ БУДУЩЕЙ ПОМОЩИ !!

вы исправили это:

private string dbPath = Application.StartupPath + "//PatAddSys.mdf";

но просто нужно сделать один шаг, чтобы использовать обратную косую черту " \ " вместо косой черты " / " так и должно быть:

private string dbPath = Application.StartupPath + "\PatAddSys.mdf";

& спасибо эта строка спасла меня много работы:)


на самом деле я разбился на эту проблему, но я справился с ней легко. если строка подключения

 connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;"

вам нужно сделать свой собственный localDB. сначала перейдите в командную строку, чем write

sqllocaldb create MyDatabase

чем запустить базу данных

sqllocaldb start MyDatabase

чем вернуться к VS и изменить строку подключения на

connectionString="Data Source=(LocalDB)\MyDatabase;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;"

используйте этот:

Path.GetFullPath(yourpath_string)

он будет работать