Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 08.03.2020
Сообщений: 7
1
MS Access

Потеря соединения с БД Access

02.04.2024, 20:36. Показов 599. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер.
В сетевой папке располагается файл БД Access, после длительного использования (более 1 часа) при запросе возникает ошибка «Ядро СУБД не может найти входную таблицу». Лечится перезапуском приложения или пере подключением к БД. Была попытка написать функцию проверки подключения к БД.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
//Подключение к БД
        bool ConectBD()
        {
            bool ActivConect = false;
            if (FileName != null)//Проверка на наличия Адреса БД
            {
                if (System.IO.File.Exists(FileName))//Проверка на Существование файла БД
                {
                    if (con == null || con.DataSource != FileName) con = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" + FileName);
                    con.ResetState();
                    if (con.State == ConnectionState.Open)//Проверка сатуса подключения
                    {
                        try
                        {
                            OleDbCommand conect = new OleDbCommand("SELECT 1", con);//Пустой запрос на проверку целостности подключения
                            OleDbDataReader Reader = conect.ExecuteReader();
 
                            
                            Reader.Close();
                            conect.Dispose();
 
                            ActivConect = true;
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                            SetActivePanel(panel1, true, "Восстановление подключение к базе данных");
                            con.Close();
                            con.Dispose();
                            ActivConect = ConectBD();
                        }
                    }
                    else
                    {
                        try
                        {
                            SetActivePanel(panel1, true, "Подключение к базе данных");
 
                            //Подключение к БД//
                            con.Open();
                            ActivConect = true;
 
                        }
                        catch (Exception)
                        {
                            SetActivePanel(panel1, false);
                            MessageBox.Show("Нет соеденения с базой данных");
                            ActivConect = false;
                        }
                    }
                }
                else
                {
                    SetActivePanel(panel1, false);
                    MessageBox.Show("База данных не найдена");
                }
            }
            return ActivConect;
        }
В отладчике при проверке статуса подключения всегда возвращается что подключение открыто. Пустой запрос тоже не помогает, написав любой статичный запрос к таблице к примеру запрос на вывод одной строки из таблицы тоже не помогает. После первого прогона запроса, все последующие проверки выдает что все в порядке. Пробовал в качестве эксперимента закоментить проверку по адресу файла и после первого прогона запроса отключить сетевой шнур и все проверки прошли успешно.

Подскажите способ проверки подключения и в чем у меня может быть ошибка.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.04.2024, 20:36
Ответы с готовыми решениями:

Потеря Wi-fi соединения
Здравствуйте. Работаю на макбуке. Установлено wi-fi соединение с раздачей от телефона. сигнал...

Потеря соединения с БД
К одной БД имеют доступ два пользователя. Оба могут делать в ней изменения (по очереди). Изменения...

Клиент и потеря соединения
Всем привет! Есть клиент подключающийся и читающий все поступающие данные. В случае перезапуска...

Ifstream и потеря соединения
Здравствуйте. Написал приложение, читающее в пять потоков текстовые файлы с пяти разных машин в...

Потеря соединения VPN
Имеется межсетевой экран D-Link DFL-860E - (первый), который имеет доступ к другому межсетевому...

8
1504 / 1052 / 146
Регистрация: 01.10.2009
Сообщений: 3,536
Записей в блоге: 1
02.04.2024, 20:49 2
теряется шара вот и всё
0
2643 / 1902 / 356
Регистрация: 14.08.2018
Сообщений: 6,133
Записей в блоге: 4
03.04.2024, 08:24 3
Цитата Сообщение от AHKEP Посмотреть сообщение
В сетевой папке располагается файл БД Access
Ну вы в курсе что MS Access имеет ограниченную поддержку многопользовательской работы, и то как она работает при внешних соединениях неизвестно? Кто мешает поднять в сети нормальный сервер СУБД? Благо бесплатных редакций хватает...
0
0 / 0 / 0
Регистрация: 08.03.2020
Сообщений: 7
03.04.2024, 20:16  [ТС] 4
Цитата Сообщение от XIST Посмотреть сообщение
теряется шара вот и всё
Подскажите если способ проверки?

Цитата Сообщение от Andrey-MSK Посмотреть сообщение
Ну вы в курсе что MS Access имеет ограниченную поддержку многопользовательской работы
Максимально число пользователей не превышает 10 пользователей.

Цитата Сообщение от Andrey-MSK Посмотреть сообщение
Кто мешает поднять в сети нормальный сервер СУБД?
Присутствуют внутренние организационные трудности.

Подобная реализация приложения работало прекрасно более года без проблем. Просто произошло очередное "улучшение" в работе. С предыдущими "улучшениями" справлялся своими силами.
0
1504 / 1052 / 146
Регистрация: 01.10.2009
Сообщений: 3,536
Записей в блоге: 1
03.04.2024, 20:55 5
Цитата Сообщение от AHKEP Посмотреть сообщение
Подскажите если способ проверки?
ping или какое ПО
0
2643 / 1902 / 356
Регистрация: 14.08.2018
Сообщений: 6,133
Записей в блоге: 4
04.04.2024, 08:22 6
Цитата Сообщение от AHKEP Посмотреть сообщение
Присутствуют внутренние организационные трудности.
А какие тут могут трудности? Сервер СУБД можно поставить на любой ПК в сети, это просто программа которая работает в фоновом режиме...
0
0 / 0 / 0
Регистрация: 08.03.2020
Сообщений: 7
07.04.2024, 11:50  [ТС] 7
Также было замечено, что через какое то время стал закрываться Проводник если в нем открыта папка расположенная на сетевом диске, такая же проблема с просмотром .pdf фалов.
0
1504 / 1052 / 146
Регистрация: 01.10.2009
Сообщений: 3,536
Записей в блоге: 1
07.04.2024, 12:31 8
AHKEP, второе сообщение в теме

Добавлено через 19 минут
AHKEP, второе сообщение в темеAHKEP, обратитесь к сисадмину, пусть помониторит сеть. Но как вам и сказали, это не лучший способ работы с файловой базой. На худой, пусть админ настроит батник, который будет делать
Код
net use к шаре
0
Эксперт .NET
12286 / 8638 / 1307
Регистрация: 21.01.2016
Сообщений: 32,504
08.04.2024, 05:39 9
Цитата Сообщение от AHKEP Посмотреть сообщение
или пере подключением к БД.
А ты одно подключение постоянно активным держишь? Зачем? Чтобы что?
0
08.04.2024, 05:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.04.2024, 05:39
Помогаю со студенческими работами здесь

Потеря соединения с сервером
Появилась потеря соединения с сервером в онлайн игре (данная проблема только в этой игре), заходи...

Потеря соединения с базой
столкнулся с такой проблемой: при длительном простое приложения теряется связь с базой данных. ...

Потеря соединения в библиотеке SharpVNC
Добрый день, кто нибудь сталкивался с проблемой потери соединения в библиотеке SharpVNC? ...

Потеря соединения с БД в долгих скриптах
Доброго времени суток! Изначально хотел задать вопрос в разделе по фреймворку Симфони, но так как...

Проблемы с роутером. Потеря инэт соединения
Здравствуйте! Хотелось бы разобраться с проблемой моего роутера,т.к. уж очень это надоело. В...

Потеря соединения Lazarus с СУБД MariaDB
При попытке подключения в ОС ALT Linux 8.2 IDE Lazarus 1.6.4 к СУБД MariaDB 10.1.23 начало...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru