繁体   English   中英

Delphi +Firedac 和网络连接错误

[英]Delphi +Firedac and network connection error

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

TFDUpdateOptions.LockWait对您与数据库的连接没有影响。 它决定了当不能立即获得记录锁时会发生什么。 文档说得很清楚:

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

LockWait 属性仅在 LockMode = lmPessimistic 时使用。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM