FireDAC 在查询期间丢失与 MySQL 服务器的连接
FireDAC Lost connection to MySQL server during query
我的应用程序上有两个 FireDAC 连接,一个用于局域网上的 MySQL 服务器并存储我商店的私人数据(如销售、产品等),以及另一个连接到远程(互联网)MySQL 服务器,它随机给我一个异常
First chance exception at 5AA882. Exception class
EMySQLNativeException with message '[FireDAC][Phys][MySQL] Lost
connection to MySQL server during query'.
这是 FireDAC、我的代码或远程 MySQL 服务器的问题吗?
我用NAVICAT软件没问题。
这个错误通常是因为网络连接不稳定,在交换数据时连接关闭
有时您可以通过增加连接超时(和 ReadTimeOut)来解决这个问题
有时会出现此错误,因为您尝试发送或接收大量数据,如 Blob 字段,您应该增加 MySQL 服务器的 max_allowed_packet 变量来解决问题
解决此问题的下一个建议是通过将 skip-name-resolve 添加到 MySQL 服务器
的设置中来避免 dns 查找
这个问题的主要原因是连接稳定性和MySQL服务器设置
如果您可以访问 MySQL 服务器并且可以更改设置,这个 link 可能会有用:
http://www.monitis.com/blog/101-tips-to-mysql-tuning-and-optimization/
您可以找到很多关于提高 MySQL Server
性能的文章
我的应用程序上有两个 FireDAC 连接,一个用于局域网上的 MySQL 服务器并存储我商店的私人数据(如销售、产品等),以及另一个连接到远程(互联网)MySQL 服务器,它随机给我一个异常
First chance exception at 5AA882. Exception class
EMySQLNativeException with message '[FireDAC][Phys][MySQL] Lost
connection to MySQL server during query'.
这是 FireDAC、我的代码或远程 MySQL 服务器的问题吗? 我用NAVICAT软件没问题。
这个错误通常是因为网络连接不稳定,在交换数据时连接关闭
有时您可以通过增加连接超时(和 ReadTimeOut)来解决这个问题
有时会出现此错误,因为您尝试发送或接收大量数据,如 Blob 字段,您应该增加 MySQL 服务器的 max_allowed_packet 变量来解决问题
解决此问题的下一个建议是通过将 skip-name-resolve 添加到 MySQL 服务器
的设置中来避免 dns 查找这个问题的主要原因是连接稳定性和MySQL服务器设置
如果您可以访问 MySQL 服务器并且可以更改设置,这个 link 可能会有用:
http://www.monitis.com/blog/101-tips-to-mysql-tuning-and-optimization/
您可以找到很多关于提高 MySQL Server
性能的文章