я разработал C Применение # WPF, я использую MDF файл базы данных, моя строка подключения выглядит следующим образом:Не удалось открыть Databse просьбе логин, Логин не удалось, Логин не удалось пользователю
Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\appDataBase.mdf;Integrated Security=True;Connect Timeout=30
здесь я заменяем | DataDirectory | с папка appdata пользователя.
файл базы данных находится в папке AppData пользователя, я создал установку, которая копирует .mdf
файл в _users AppData папку при установке его в компьютер клиента, он прекрасно работает
, но когда я удалений и переустановить его , я не могу подключить этот файл, получаю ошибку:
Can't open database "C:/users/myusername/appdata/roaming/myapplication/database/appDataBase.mdf" requested by login, login failed, login failed for user..
файла есть, но как-то используется сервер SQL и не может открыть его. также при запуске приложения каждый раз, когда я создаю резервную копию этого файла, что один и сбой с ошибкой
System.IO.IOException: The process cannot access the file 'C:\Users\myusername\AppData\Roaming\myapplication\Database\appDataBase.mdf' because it is being used by another process.
Может кто-нибудь дать мне точное решение, потому что я должен использовать LocalDB только на моем компьютере клиента, я не» я хочу, чтобы они позволили сделать какую-либо дополнительную конфигурацию для установки моего приложения, i.am все еще сталкивается с iasue после того, как я изменил свой код, чтобы закрыть соединение db на событии закрытия главного окна.
поэтому, когда приложение запускается, мне нужно проверить наличие открытого подключения к файлу mdf? и отключиться, если он был открыт от последнего выполнения? –
Нет, просто введите свой код в try catch и удалите и закройте весь объект в try, а также в catch, чтобы он никогда не создавал ту же проблему. Поскольку поиск экземпляра и его закрытие - это не очень хорошая практика. Может быть, вы открыли соединение для базы данных и забыли закрыть его. –
Я исследовал и обнаружил, что я не должен использовать (LocalDB) \ v11.0, вместо этого он должен быть .SQLEXPRESS, я устанавливаю SQL express на клиентском компьютере, указывая в своих предварительных требованиях к приложениям, и он работает в первый раз с (LocalDB) \ v11.0, –