t1f*_*t1f 5 mysql sql delphi dbexpress
我已经使用名为的按钮设置了我创建的delphi应用程序Connect.单击它后,它将执行以下代码:
begin
someConnection.Connected:=true;
somecomenziDataSet.Active:=true;
end;
Run Code Online (Sandbox Code Playgroud)
同样地,我有一个按钮用于Disconnect做同样的事情,但是= false;
我的问题是我连接的数据库托管在共享主机帐户上,而mysql服务器的wait_timeout变量设置为60秒,interactive_timeout设置为30秒.当然,如果我不使用我的应用程序60秒,这将断开我.
有没有办法让这个连接保持活力?
托管公司不会改变设置,所以我坚持使用它.
我正在使用RAD Studio 10 Seattle,dbexpress组件TSQLConnection和我的数据库mysql
如果我留下任何必要的信息,请在评论中告诉我,谢谢!
您可以使用a TTimer来定期"ping"数据库(例如,给定60秒超时的间隔为10-20秒):
procedure TMyDataModule.ConnectionPingTimer(Sender: TObject);
begin
if not MySQLConnection.InTransaction then
MySQLConnection.Exceute('DO 0', nil); // or "SELECT 1" or whatever is cheapest
end;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
932 次 |
| 最近记录: |