0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 25

Ошибка соединения

22.09.2013, 19:50. Показов 1214. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возникла непонятная ошибка соединения.
Суть программы в том что она берет значение из одной таблицы и сравнивает ее с другим значением из другой таблицы. Запускаем, начинает работать, после того как отработала почти всю таблицу, выскакиевает ошибка com.mysql.jdbc.exceptions.jdbc4.Communic ationsException: Communications link failure и далее валится resultset и следовательно выборка данных больше не идет, и все ложится отдыхать.
так вот, мб кто подскажет решение такой проблемы?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.09.2013, 19:50
Ответы с готовыми решениями:

[odbc] Ошибка соединения
Добрый день, хочу узнать как решить данную проблему. Мой код, подключается к СУБД и создаёт несколько БД - DB_1 и DB_2. (создание баз...

Ошибка соединения с базой данных
Не подскажите в чём проблема? Пытаюсь подключиться к базе данных. package Main; import java.sql.*; public class Main { ...

Ошибка "ExecuteReader требует открытого и доступного соединения. Текущее состояние соединения закрыто. "
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.OleDb; using System.Data;...

7
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 25
24.09.2013, 15:30  [ТС]
в общем проблему удалось решить остановкой потока на 10 секунд после каждых 500 строк, но вопрос остаётся открытым, с чего вдруг БД терять соединение..
0
352 / 162 / 20
Регистрация: 22.12.2011
Сообщений: 352
24.09.2013, 15:47
xpresiq, в таком случае вы бы код привели, а то так сложно понять, что там у вас.
0
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 25
25.09.2013, 11:57  [ТС]
весь код приводить не буду, конкретно куски в которых валится все.
Java
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
i
public class search {
    public static void main(String[] args) {
        DB db = new DB("note", "jdbc:mysql://localhost:3306/", "root", "12345");
        ResultSet rs = db.query("таблица 1");
        StringTokenizer str = null;
        String code = null;
        try {
            while (rs.next()) {
 
                str = new StringTokenizer(rs.getString(2), " \t\n\r");
                while (str.hasMoreTokens()) {
                    if (str.nextToken().toString()
                            .equalsIgnoreCase((all().toString()))) {
 
                        System.out.println(rs.getString(2) + "           " + i);
 
                    }
                }
                i++;
            }
        } catch (SQLException e) {
            System.out.println("opa");
        }
        //db.close();
    }
 
    public static String all() {
        DB db = new DB("note", "jdbc:mysql://localhost:3306/", "root", "12345");
 
        ResultSet rs = db.query("таблица 2");
        try {
            while (rs.next()) {
                code = rs.getString(3).toString();
            
            }
        } catch (SQLException e) {
            System.out.println("opa");
        }
        // db.close();
        return code;
 
    }
 
}
"голый" код сравнения.
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
25.09.2013, 14:09
а ну понятно, вы просто создаёте кучу конектов и в какойто момент срабатывает ограничение на количество соединений
почитайте про пулы конектов к базе и перепишите код
0
0 / 0 / 0
Регистрация: 06.12.2010
Сообщений: 25
25.09.2013, 14:17  [ТС]
Цитата Сообщение от mutagen Посмотреть сообщение
а ну понятно, вы просто создаёте кучу конектов и в какойто момент срабатывает ограничение на количество соединений
почитайте про пулы конектов к базе и перепишите код
Ну я как бы ожидал ответа на подобии такого, только вот встает вопрос, как быть когда это все находится в разных классах, это ведь для примера все в куче. Если один класс, там делаешь выборку из нескольких таблиц и вперед с песней.При изучении jdbc когда то давно, препод как то сказал что нужно открывать и закрывать соединение при каждой операции(открыл-взял что надо-закрыл). В конкретном случае, я не представляю как можно уменьшить количество коннектов к базе если одни данные тут, а вторые там...
0
3 / 0 / 0
Регистрация: 16.09.2013
Сообщений: 8
25.09.2013, 14:18
Ну я как бы ожидал ответа на подобии такого, только вот встает вопрос, как быть когда это все находится в разных классах, это ведь для примера все в куче. Если один класс, там делаешь выборку из нескольких таблиц и вперед с песней.При изучении jdbc когда то давно, препод как то сказал что нужно открывать и закрывать соединение при каждой операции(открыл-взял что надо-закрыл). В конкретном случае, я не представляю как можно уменьшить количество коннектов к базе если одни данные тут, а вторые там...
0
 Аватар для mutagen
2587 / 2260 / 257
Регистрация: 14.09.2011
Сообщений: 5,185
Записей в блоге: 18
25.09.2013, 14:29
представьте себе класс у которого есть 20 соединений и вы их у него гет и ретурн, и вовсе не надо их закрывать, просто переиспользовать, ну на гет например повесить эксепшен NoFreeConection и ловить его, вешать поток в таймаут и после истечения пробовать ещё раз
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.09.2013, 14:29
Помогаю со студенческими работами здесь

Ошибки СУБД: ошибка выделения памяти. Ошибка соединения с сервером 1С
Здравствуйте! Есть один сервер. На нем стоит MS SQL, 1С сервер и терминально подключаются пользователи через RDP (до 80 пользователей). ...

Ошибка соединения
Не открывается сайт Microsoft, тем самым не могу обновится. windpows/system32/drivers/etc проверял, hosts файл удалил. Все равно....

Ошибка соединения с БД
Здравствуйте. У меня следующая проблема: При попытке соединиться с БД ошибка "невозможно установить соединение". Все пишу...

Ошибка соединения с БД
Здравствуйте! Я начала изучать технологию ado.net, C# тоже изучаю с недавнего времени. Создаю приложение на C#, которое должно выгружать...

Ошибка соединения с бд
Всем добрый день! Пытаюсь соединится с БД и выдает такую ошибку: Ошибка сервера в приложении '/'. Ошибка входа пользователя...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru