Форум программистов, компьютерный форум, киберфорум
Java: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
9 / 9 / 0
Регистрация: 13.07.2012
Сообщений: 127
Oracle

Долго выполняется подключение к БД

24.07.2019, 12:14. Показов 2418. Ответов 22
Метки нет (Все метки)

Добрый день. Временами долго выполняется подключение? Раз в час может быть и чаще.
Есть класс thread_action унаследованный от класса Thread выполняет подключение к БД Oracle.
Как я отслеживаю время подключения?
Создаем переменную класса.
Запускам поток через start.
открываем цикл. Ждем пока завершиться цикл.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
try {
    thread_action = new thread_action();
} catch (java.net.UnknownHostException ex) {
   return;
}
start = System.nanoTime();
date_start = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date());
// запуск потока
thread_action.start();
finish = System.nanoTime();
date_finish = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date());
run = finish - start == 0 ? 0 : (finish - start) / 1000000000;
// проверяем, что поток пока работает, и текущее время минус время запуска меньше допустимого времени
while (thread_action.getStatus() == 1 && isbreak) {
    finish = System.nanoTime();
    date_finish = (new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date());
    run = (finish - start) / 1000000000;
    isbreak = run < time_break;
    //    System.out.println("run"+String.format("%f",(finish-start)/1000000000.0));
}
Класс thread_action
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class thread_action{
String status;
public String getStatus(){
return status;
}
public void run(){
status=1;
    try {
        log.write((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date()) + " connecting...");
        connection = DriverManager.getConnection(connection_s, user_s, password_s);
        log.write((new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")).format(new Date()) + " connect success");
    }catch (java.sql.SQLException ex){
        log.write("[DB]::create_connection~Error connect. "+ex.getMessage());
        
    }
status=-1;
}
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.07.2019, 12:14
Ответы с готовыми решениями:

Долго выполняется запрос
Всем привет. Довольно долго (порядка 30-40 секунд) выполняется запрос. Подскажите где, что неправильно и как его можно ускорить. ...

Программа долго выполняется
Добрый день, товарищи. Написал прогу, кодирующую данные#include &lt;iostream&gt; #include&lt;fstream&gt; #include&lt;string&gt; using...

Долго выполняется setText
ну код не самый красивый, но щас дело в другом. в StringBuilde загружает файл моментально, но вот в текстареа он очень долго грузит, даже...

22
9 / 9 / 0
Регистрация: 13.07.2012
Сообщений: 127
25.07.2019, 17:05  [ТС]
Он там есть. Забыл дописать. когда копировал. Если этот класс не наследовался бы от Thread, то нельзя было бы вызвать start. Согласен?
0
2884 / 2296 / 769
Регистрация: 12.05.2014
Сообщений: 7,978
25.07.2019, 17:18
тут часто такое выкладывают, что на голову на натянешь
твой код не исключение, там могло быть вообще что угодно, поэтому я и уточнял

я бы начал с этого
Java
1
private volatile String status;
0
9 / 9 / 0
Регистрация: 13.07.2012
Сообщений: 127
26.07.2019, 08:30  [ТС]
а чем это поможет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.07.2019, 08:30

Долго выполняется запрос
Приходят в GET слова для работы с БД, все работает хорошо, кроме одного словочитания, база данных возвращает значения, но это происходит...

Долго выполняется запрос к БД
Добрый день. Есть в БД табличка с 192 полями, в ней может быть около 100 тыс. записей. запрос count(*) выполняется 1,31 сек. а выбор...

Долго выполняется цикл
Добрый день или вечер)) Есть цикл for, который выполняется в потоке. Он занимается заполнением структуры. В этом цикле for...

Долго выполняется код.
Уважаемые форумчане, почему у меня тормозит этот немудреный код, хотя в листбоксе всего 490 строк, и как сделать его быстрее? Variant v; ...

Долго выполняется программа и зависает
Программа на C# долго выполняется и зависает при вводе eps вот код: using System; using System.Collections.Generic; using...


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

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
23. что сделано за последнее время.
anaschu 17.06.2026
• Эталон: Клиника НИИ питания РАМН, Москва — централизованный пищеблок, 225 коек, 180 пациентов • Git: репозиторий med2, ветка абсентеизм. Рабочий файл: СРесурсами1_v4. alp • Смежный проект:. . .
22. Подключение слоя системной динамики (потоковые диффуры): экономические метрики модели
anaschu 17.06.2026
Апдейт модели: финансовый контур, разделение затрат Продолжаю развивать модель рабочего коллектива на AnyLogic. В этот раз работа шла над агентом Экономика — финансовым SD-слоем модели. Задача:. . .
[golang] Insert Delete GetRandom O(1) (Leetcode: 380)
alhaos 16.06.2026
Insert Delete GetRandom O(1) Сложность: Medium Источник: LeetCode 380 Задача Реализовать структуру данных RandomizedSet, которая поддерживает следующие операции за O(1) в среднем:
Свет в конце тоннеля
kumehtar 16.06.2026
Поймал себя на одной мысли. Раньше мне всегда казалось неправильным жить без чёткого понимания, куда всё идёт. Будто я иду по дороге судьбы, но не знаю, куда она ведёт. А раз не знаю — значит,. . .
[golang] Реализация стека с поддержкой получения минимального элемента за O(1)
alhaos 16.06.2026
Min Stack Сложность: Medium Источник: LeetCode 155 Задача: Реализовать стек который поддерживает push, pop, top и получение минимального элемента за O(1). Методы:
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов. Сигнатура func Fetch(urls string, maxConcurrent int) Result Пример urls :=. . .
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition) Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru