Попытка вставить базу с автоименованием Ошибка

"Попытка подключить базу данных с автоименованием для файла C:\Users\John\documents\visual studio 2010\Projects\PAS\PAS\bin\Debug//Ошибка PatAddSys.mdf. База данных с тем же именем существует, или указанный файл не может быть открыт, или он находится на общей папке UNC."

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

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

Здесь расположение My Database

enter image description here

Ответ 1

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

User Instance=True

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

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

Ответ 2

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

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

введите описание изображения здесь

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

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

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

Ответ 3

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

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

<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 | Каталог данных | перед именем базы данных, тогда она отлично работает

<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" />

Ответ 4

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

вы его скорректировали:

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

НО только нужно сделать один шаг - использовать обратную слякоть "\" вместо SLASH "/" поэтому он должен быть таким:

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

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

Ответ 5

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

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

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

sqllocaldb create MyDatabase

чем начать свою базу данных

sqllocaldb start MyDatabase

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

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

Ответ 6

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

Path.GetFullPath(yourpath_string)

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