102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,242
|
||||||
1 | ||||||
При повторной попытке подключиться к базе сообщается, что файл уже занят07.04.2015, 14:25. Показов 708. Ответов 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
Вылетает при попытке подключиться к базе данных Файл занят используется другим процессом при попытке его удаления Ошибка "Файл базы данных занят" при попытке подключения к ней Программы самоудаляются. Но при попытке установить их пишет, что уже установлена Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Как обучить нейросеть создания картинок на Python
bytestream 24.01.2025
В эпоху цифровых технологий искусственный интеллект становится неотъемлемой частью творческого процесса. Особое место в этой области занимает разработка и обучение нейронных сетей для создания. . .
|
Как обучить нейросеть генерации текста на Python
bytestream 24.01.2025
В современном мире искусственный интеллект и машинное обучение становятся неотъемлемой частью многих технологических решений. Одной из наиболее интересных и востребованных задач в этой области. . .
|
Машинное обучение на Python
bytestream 24.01.2025
Введение в машинное обучение на Python
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей информационных технологий, которая позволяет компьютерным системам. . .
|
Как удалить вирус-майнер с компьютера
hw_wired 24.01.2025
Вирусы-майнеры стали одной из наиболее серьезных угроз для пользователей компьютеров. Эти вредоносные программы тайно используют вычислительные ресурсы зараженного устройства для добычи криптовалюты. . .
|
Что такое веб-сервер, для чего он нужен и как работает
bytestream 24.01.2025
В современную эпоху цифровых технологий веб-сервер является фундаментальным компонентом интернет-инфраструктуры, обеспечивающим функционирование множества онлайн-сервисов и веб-сайтов. Этот. . .
|
Как в цикле for перебрать все элементы в словаре в Python
bytestream 24.01.2025
Словари в Python представляют собой мощные структуры данных, которые позволяют хранить информацию в формате ключ-значение. Эта особенность делает их незаменимыми при работе с данными, где требуется. . .
|
Как отменить rebase в Git
hw_wired 24.01.2025
Git rebase представляет собой мощный инструмент для управления историей коммитов в системе контроля версий Git. Этот механизм позволяет разработчикам изменять последовательность, комбинировать или. . .
|
Как поменять цвет input placeholder с помощью CSS
bytestream 24.01.2025
В веб-разработке оформление элементов пользовательского интерфейса играет ключевую роль в создании привлекательного и интуитивно понятного дизайна. Особое внимание уделяется формам ввода данных, где. . .
|
Как перебрать все значения в перечислении (enum) в C#
bytestream 24.01.2025
Перечисление (enum) в языке программирования C# представляет собой специальный тип данных, который позволяет определить набор именованных констант. Этот мощный инструмент особенно полезен, когда. . .
|
Как обойтись без проверки на null, чтобы избежать NullPointerException в Java
bytestream 24.01.2025
NullPointerException (NPE) является одним из самых распространенных исключений в Java, создающих серьезные проблемы при разработке программного обеспечения. Данное исключение возникает при попытке. . .
|
Что лучше использовать в href ссылок в JavaScript: "#" или "javascript:void(0)"
bytestream 24.01.2025
При разработке веб-приложений важную роль играет правильное использование HTML-ссылок в сочетании с JavaScript. Одним из ключевых аспектов является выбор корректного значения атрибута href для. . .
|
Как узнать индекс элемента списка по его значению в Python
hw_wired 24.01.2025
При работе с коллекциями данных в Python часто возникает необходимость не только манипулировать элементами списка, но и определять их точное местоположение. Индекс элемента представляет собой. . .
|