Mysql 德尔福+;Firedac和网络连接错误

Mysql 德尔福+;Firedac和网络连接错误,mysql,delphi,firedac,Mysql,Delphi,Firedac,我的应用程序正在使用MySQL数据库,连接我使用的FireDAC组件。上次我遇到网络问题时,我对它进行了测试,看起来(有时)它丢失了4个ping请求。我的应用程序返回错误:“[FireDAC][Phys][MySQL]在查询过程中与MySQL服务器失去连接”。现在的问题是:将fdconnection.TFDUpdateOptions.LockWait设置为true(默认值为false)将解决我的问题或产生新的问题?TFDUpdateOptions.LockWait对您与数据库的连接没有影响。它确

我的应用程序正在使用MySQL数据库,连接我使用的FireDAC组件。上次我遇到网络问题时,我对它进行了测试,看起来(有时)它丢失了4个ping请求。我的应用程序返回错误:“[FireDAC][Phys][MySQL]在查询过程中与MySQL服务器失去连接”。现在的问题是:将fdconnection.TFDUpdateOptions.LockWait设置为true(默认值为false)将解决我的问题或产生新的问题?

TFDUpdateOptions.LockWait对您与数据库的连接没有影响。它确定当无法立即获得记录锁时会发生什么情况。报告说得很清楚:

使用LockWait属性控制FireDAC是否应在获取悲观锁时等待(True),或者如果记录已锁定,则立即返回错误(False)。默认值为False

LockWait属性仅在LockMode=lm悲观时使用

如果FireDAC失去连接,它将迫不及待地获得锁,因为很明显,无法请求锁或确定是否获得了锁。因此,更改
LockWait
不会改变连接丢失问题,并且可能会减慢针对数据的许多其他操作


对于丢失的ping请求,唯一的解决方案是修复网络连接,使其停止丢弃数据包。简单地随机更改
TFDConnection
上的选项并不能解决网络问题。

我很惊讶,它起了作用。现在,当连接恢复时,应用程序不再“挂起”