Попытка вставить базу с автоименованием Ошибка
"Попытка подключить базу данных с автоименованием для файла 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)
он будет работать