102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
|
||||||
1 | ||||||
При повторной попытке подключиться к базе сообщается, что файл уже занят07.04.2015, 14:25. Показов 693. Ответов 9
Метки нет (Все метки)
добрый день, я подключаю базу данных к проекту, получаю данные из базы, заношу их в DataSet, закрываю соединение с базой. При повторной попытке подключиться к базе мне пишет, мол файл уже занят ... подскажите, как фиксануть ?
0
|
07.04.2015, 14:25 | |
Ответы с готовыми решениями:
9
Работа с MySQL. При попытке зашифровать данные сообщается, что файл не найден При попытке открыть форму в конструкторе, сообщается, что не найден setting.xml При попытке переустановки ОС сообщается, что установка не может быть продолжена из-за отсутствия дисковода Определить, что файл уже занят процессом |
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
|
|
08.04.2015, 18:08 [ТС] | 3 |
0
|
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
|
09.04.2015, 04:00 | 4 |
В таком случае подробнее. В какой строке возникает ошибка и каким способом вы подключаетесь к базе данных.
0
|
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
|
|
09.04.2015, 13:46 [ТС] | 5 |
там не то, чтобы ошибка, нет, программа не крашится, тут возможно даже проблема не с доступом к базе, я не знаю точно, возможно тут все дело в самом openFileDialog, с помощью него я выбираю файл базы данных, тем самым формируя путь, затем передаю в метод, который был представлен выше, после этого я хочу заного подключиться к этой же базе и проделываю теже самые действия, но в этот раз мне пишет, что мол файл используется
0
|
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
|
09.04.2015, 14:57 | 6 |
Fene4ka_, SQL Server - это серверная СУБД. Она не особо ориентирована на работу с файлами БД. Боюсь соврать, но, по-моему, при подключении к файлу БД, этот файл монтируется на сервер, после чего осуществляется подключение к серверу, а не к файлу БД напрямую. Как потом этот файл размонтируется, я не знаю. Но, видимо, это происходит не сразу после исчезновения подключения, вызвавшего его монтирование. Я даже и не знаю, что вам в этой ситуации посоветовать, кроме как не пытаться использовать MS SQL Server, как локальную БД.
PS: метод toConnect же вызывается до того, как вы пытаетесь создать второе подключение? Если вы просто заменили Close на Dispose, то у вас без проблем может возникнуть ситуация, когда перед новым new не был вызван метод Dispose для старого соединения ...
0
|
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
|
|
09.04.2015, 15:47 [ТС] | 7 |
как она может возникнуть если возможность создать новое подключение появляется только после полного завершения метода toConnect ?
Добавлено через 52 секунды я бы и не использовал бы, но программа ориентирована на людей, которые возможно захотят использовать
0
|
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
|
09.04.2015, 16:10 | 8 |
Fene4ka_, Ваш класс LocalSql спроецирован так, что нет гарантии вызова toConnect. Я не отрицаю,что этот метод в итоге вызывается, поэтому написал это в постскриптуме. Но это неправильно. Объект должен корректно создаваться и удаляться в независимости от вызываемых методов.
0
|
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
|
|
09.04.2015, 16:23 [ТС] | 9 |
0
|
1449 / 1121 / 347
Регистрация: 11.04.2011
Сообщений: 2,621
|
|
09.04.2015, 16:40 | 10 |
Fene4ka_, я не знаю, как ваш класс используется, поэтому не могу сказать, куда запихать toConnect, но в этом классе я бы реализовал интерфейс IDisposable со всему вытекающими. По крайней мере, есть такие рекомендации - если внутри класса есть объекты IDisposable, то и сам класс должен быть IDisposable. SqlConnection интерфейс IDisposable реализует. Но это к теме топика мало отношения имеет.
0
|
09.04.2015, 16:40 | |
09.04.2015, 16:40 | |
Помогаю со студенческими работами здесь
10
Вылетает при попытке подключиться к базе данных Файл занят используется другим процессом при попытке его удаления Ошибка "Файл базы данных занят" при попытке подключения к ней Программы самоудаляются. Но при попытке установить их пишет, что уже установлена Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |