Member 10376725 Ответов: 1

Проблема с подключением нового файла базы данных к приложению windows form.


I just created a new database file using SSMS and then tried to attach it to a new Windows Form Application using the Data Source app. When I Browse to the data file (.mdf) I got an error message stating I didn't have permission to use this file. So, I went in and changed the permissions on the data file. The when I want back to again attach the new database I get another error message, "File in use. Enter a new name or close the file that's open in another program." In investigating I find that the file is open in the SQL Server and I have no idea how to close this. I am using SQL Server Express 2014, Visual Studio Community 2017 Visual Basic on Windows 10 Pro. How do I overcome this?

Что я уже пробовал:

Только то, что я сказал, Я понятия не имею, как это исправить.

1 Ответов

Рейтинг:
6

OriginalGriff

Присоединение баз данных-это особый "режим" SQL, в котором новый экземпляр сервера "отделяется" для ухода за этим одним файлом БД, и он предназначен только для разработки, чтобы ваш код не мог отказать любому другому доступу к базе данных. Именно по этой причине он недоступен в "полном" SQL Server, а только в Express edition.
При присоединении базы данных новый экземпляр SQL Server engine запускается и получает контроль над файлом. До тех пор, пока файл не будет отсоединен или экземпляр не закроется, файл используется и будет оставаться таким. Пока он используется, SQL server имеет эксклюзивную блокировку файла, и вы не можете открыть его в другом приложении.
Я бы настоятельно рекомендовал вам импортировать свою БД в SQL и позволить ей полностью управлять ею, а не присоединять.


Member 10376725

БД была создана в SQL, я создал ее на этом компьютере и пытаюсь прикрепить ее к форме Windows, чтобы я мог манипулировать ею с помощью программы Visual Basic. Я прошел мимо проблемы с сервером, но теперь у меня есть новая проблема. Теперь, когда я пытаюсь атташе его, я получаю это сообщение об ошибке.

Невозможно открыть физический файл "C:\Program файлы\Microsoft SQL Server\MSSSQL12.Elyea_SQLEXPRESS\MSSQL\DATA\Temp_Emp_Log.ldf ошибка операционной системы 5: "5(Доступ запрещен)"
Попытка прикрепить базу данных с автоматическим именем для файла C:\Program ошибка Files\Microsoft SQL Server \MSSQL12.ELYEA_SQLEXPRESS\MSSQL\DATA\Temp_Emp.mdf. База данных с таким же именем существует, или указанный файл не может быть открыт, или он находится на общем ресурсе UNC (?)

Я уже создавал и прикреплял файлы данных в этой системе ранее, но последнее обновление Windows 10 Pro создало многочисленные проблемы с моими системами. Мне удалось проработать их все, но теперь это поднимает уродливую голову, и я не уверен, является ли это проблемой Windows 10 или проблемой Mocrosoft SQL 2014 или проблемой Visual Studio 2017.

OriginalGriff

Если вы создали его в SQL через SSMS или VS, то он уже подключен и управляется SQL Server, и вам нужно только подключиться к нему. Вы не можете подключить базу данных, которая уже используется SQL Server - и это именно то, что говорит вам сообщение об ошибке.

Все, что вам нужно, - это строка подключения. Это может помочь:
https://www.codeproject.com/Tips/1198443/Simple-SQL-Connection-String-Creation