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.

Другие вопросы по тегам