FireDAC Потерянное соединение с сервером MySQL во время запроса
У меня есть два подключения FireDAC в моем приложении, одно предназначено для использования на MySQL Server, который находится в локальной сети и хранит личные данные моего магазина (например, продажи, продукты и т. Д.), А другое подключено к удаленному (Интернет) MySQL Server, и это случайно дает мне исключение
First chance exception at $745AA882. Exception class
EMySQLNativeException with message '[FireDAC][Phys][MySQL] Lost
connection to MySQL server during query'.
Это проблема FireDAC, моего кода или удаленного сервера MySQL? С помощью программного обеспечения NAVICAT у меня нет проблем.
1 ответ
Эта ошибка обычно возникает из-за нестабильности подключения к Интернету и закрытия соединения во время обмена данными
Иногда вы можете решить эту проблему, увеличив время ожидания соединения (и ReadTimeOut)
Иногда эта ошибка возникает из-за того, что вы пытаетесь отправить или получить большой объем данных, таких как поля Blob, и вам нужно увеличить переменную max_allowed_packet MySQL Server, чтобы решить эту проблему
Следующее предложение для решения этой проблемы - избегать просмотра DNS, добавив skip-name-resolution в настройки вашего MySQL Server.
Основными причинами этой проблемы является стабильность соединения и настройки MySQL Server.
Если у вас есть доступ к серверу MySQL и вы можете изменить настройки, эта ссылка может быть полезна:
http://www.monitis.com/blog/101-tips-to-mysql-tuning-and-optimization/
Вы можете найти много статей о повышении производительности MySQL Server.