Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 18, 2016 12:34:54

Sova
Зарегистрирован: 2015-05-19
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка подключения к SQL базе

Добрый день, есть mySQL база, которая расположена на другом ПК. К ней нужно обращаться с этого ПК, но если сеть лягла или комп с базой выключен Pyton просто прекращяет работу программы, выдавая сообщение об ошибке. А этого делать нельзя!! Нужно просто продолжить работу программы, ну и выдать сообщение в какую то переменную о том что база то недоступна. Помогите с этой задачкой?

Офлайн

#2 Апрель 18, 2016 12:55:50

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

проверка подключения к SQL базе

перехватывайте ошибку операции с БД с помощью try…except



Офлайн

#3 Апрель 18, 2016 13:20:08

Sova
Зарегистрирован: 2015-05-19
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка подключения к SQL базе

FishHook
перехватывайте ошибку операции с БД с помощью try…except
как именно? можете дать код?

Офлайн

#4 Апрель 18, 2016 13:28:29

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

проверка подключения к SQL базе

Sova
как именно? можете дать код?
Код чего?
Вы знаете о такой языковой конструкции try…except?
Если знаете - применяйте по месту, вы же знаете где у вас программа падает, трейсбек об этом недвузначно сообщает.
Если не знаете - идите читать документацию.



Офлайн

#5 Апрель 18, 2016 18:32:07

Sova
Зарегистрирован: 2015-05-19
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка подключения к SQL базе

FishHook
Спасибо, Все получилось. Осталось только както выделить именно эту ошибку , чтоб потом выставить флаг того, что не было коннекта с базой. Подскажите куда смотреть?

Офлайн

#6 Апрель 18, 2016 19:10:40

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

проверка подключения к SQL базе

В try : except - error types => google
Уже не говоря о том что можно в самом начале обьявить переменную и потому если ок - присваивать ей 1 а если сработало исключение 0



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Отредактировано ZerG (Апрель 18, 2016 19:11:29)

Офлайн

#7 Апрель 18, 2016 20:16:03

Sova
Зарегистрирован: 2015-05-19
Сообщения: 21
Репутация: +  0  -
Профиль   Отправить e-mail  

проверка подключения к SQL базе

ZerG
В try : except - error types => googleУже не говоря о том что можно в самом начале обьявить переменную и потому если ок - присваивать ей 1 а если сработало исключение 0
Спасибо, получилось - работает!!!
Но терзают меня смутные сомнения что если коннекта нет то прога не сможет адекватно работать т.к. она подвисает на 21 сек прежде чем выдать что есть мол ошибка коннекта!!! а ежели есть коннект то 0,1 сек и готово.. Это катастрофа моя прога должна крутится в цикле и пишет в базу данные попутно выполняя свои действия 10 раз на секунду…
Есть ли способ проверить коннект более быстрым способом? или пробовать пинговать и прочее?

Офлайн

#8 Апрель 18, 2016 21:31:02

ZerG
Зарегистрирован: 2012-04-05
Сообщения: 2627
Репутация: +  61  -
Профиль   Отправить e-mail  

проверка подключения к SQL базе

Способов море! Гуглите.
Пробуйте сделать сами.



Влодение рускай арфаграфией - это как владение кунг-фу: настаящие мастира не преминяют ево бес ниабхадимости

Офлайн

#9 Апрель 19, 2016 06:39:27

PooH
От:
Зарегистрирован: 2006-12-05
Сообщения: 1948
Репутация: +  72  -
Профиль   Отправить e-mail  

проверка подключения к SQL базе

ZerG
Способов море! Гуглите.
Море? Я только один знаю, уменьшить connect_timeout. Если знаете еще, расскажите.



Вот здесь один из первых отарков съел лаборанта. Это был такой умный отарк, что понимал даже теорию относительности. Он разговаривал с лаборантом, а потом бросился на него и загрыз…

Офлайн

#10 Апрель 19, 2016 07:36:52

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

проверка подключения к SQL базе

PooH
Я только один знаю
Ну для такой задачи основной способ разнести цикл обработки и работу по общению с базой по разным потокам/ использовать асинхронный ввод вывод.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version