Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.54/13: Рейтинг темы: голосов - 13, средняя оценка - 4.54
4 / 4 / 0
Регистрация: 19.07.2015
Сообщений: 96
1

FireDac и MySQL

01.07.2016, 14:32. Показов 2482. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем добрый день. Поясните пожалуйста один момент.
1. DB: MySQL InnoDB
2. Подключение через FireDac
3. Параметры запроса:

Delphi
1
2
3
qSys.ResourceOptions.AssignedValues := [rvCmdExecMode, rvCmdExecTimeout];
qSys.ResourceOptions.CmdExecMode := amnonBlocking;
qSys.ResourceOptions.CmdExecTimeout := 8000;

в программе формирую текст запроса:

ТекстЗапроса ( GlobalSQL ) := Запрос 1; + Запрос2; и тд. .

Запрос 1, Запрос 2 и тд - различные - это и UPDATE и SELECT и вызовы хранимых процедур.

После этого выполняю запрос.
Выглядит так:
Delphi
1
 SET wait_timeout=8000; SET autocommit = 0; START TRANSACTION; ' +GlobalSQL +' COMMIT; SET autocommit = 1;
Так вот, при подключении к серверу - все работает отлично. А если в момент запроса происходит потеря связи, то все . .программа виснет. Однако, даже при зависании данные записываются в БД.

И, наконец, сам вопрос, как избежать зависания программы?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.07.2016, 14:32
Ответы с готовыми решениями:

FireDAC + Delphi XE7 : Сохранение в базе MySQL unicode - символов ( ₽ )
Доброго времени! Подключаюсь в базе данных MySQL из программы на Delphi XE7. Для подключения к...

Параметры FireDAC
Доброго дня. Не получается программно присвоить значения параметров в FireDAC. Выдает ошибку. q...

FireDAC+Firebird 2.5
Люди добрые, помогите пожалуйста. Сел разбираться с FireDAC, не могу подключиться к базе на...

Firedac libmysql
Запускаю приложение. Работаю, все нормально. После того как начинаю закрывать приложение...

4
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
01.07.2016, 14:48 2
у вас нестыковка
Цитата Сообщение от andevel Посмотреть сообщение
происходит потеря связи
Цитата Сообщение от andevel Посмотреть сообщение
даже при зависании данные записываются в БД
данные для записи то откуда берутся? из проводов докачиваются?

Цитата Сообщение от andevel Посмотреть сообщение
то все . .программа виснет
вроде не виснет, а пытается достучатся до сервера

если не нравится такое поведение попробуйте обработать событие FDConnection1AfterDisconnect
или вынести запросы в потоки )))
0
4 / 4 / 0
Регистрация: 19.07.2015
Сообщений: 96
01.07.2016, 14:52  [ТС] 3
Цитата Сообщение от qwertehok Посмотреть сообщение
данные для записи то откуда берутся? из проводов докачиваются?
Поясню: Сначала формируется строка запроса. Потом нажимаю кнопку "Выполнить". Если сразу после нажатия кнопки разрываю соединение, то происходит зависание.
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
01.07.2016, 15:03 4
конечно происходит - программа пытается восстановить соединение и ждет ответа от сервера столько столько выставлен Timeout
0
4 / 4 / 0
Регистрация: 19.07.2015
Сообщений: 96
01.07.2016, 15:15  [ТС] 5
Цитата Сообщение от qwertehok Посмотреть сообщение
конечно происходит - программа пытается восстановить соединение и ждет ответа от сервера столько столько выставлен Timeout
в том то и дело, что таймаут выставлен на 3 сек.

Добавлено через 10 минут
или же, когда я формирую строку GlobalSQL , перед каждым запросом поставить
Delphi
1
wait_timeout=1000;
Хотя что это даст . .
0
01.07.2016, 15:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2016, 15:15
Помогаю со студенческими работами здесь

FireMonkey и FireDac
Всем снова Здравствуйте Уважаемые программисты и знающие люди! Снова возникли вопросы. Коннект к...

FireDac (Зависимости)
Добрый день! Планируется написание некого лаунчера. С внедрением компонентов "FireDac" ...

FireDAC Query
Всем доброго дня. Вопрос в следующем: Когда прописываю в FireDAC Query Editor SELECT * FROM ...

FireDac, FDquery
Уважаемые форумчане. Начинаю пробовать писать СУБД FireDac + postgresql. Дилетантский вопрос. Какие...


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

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