清幽傲竹实现的kbmMWServer数据库联接失败重联(转载红鱼儿)

简介: 1。修改kbmMWUnidac单元的TkbmMWUNIDACConnection.InternalOpenConnection方法,加上:            //支持unidac重联           FDatabase.

1。修改kbmMWUnidac单元的TkbmMWUNIDACConnection.InternalOpenConnection方法,加上:

 

         //支持unidac重联
          FDatabase.Options.LocalFailover:=Options.LocalFailover;
          FDatabase.OnConnectionLost:=OnConnectionLost;
          FDatabase.AfterConnect:=AfterConnect;

2.处理UniConnection组件:

设置Options.LocalFailover:=True;

编码OnConnectionLost及AfterConnect事件:

procedure TFServerDM.UniMysqlConnectionConnectionLost(Sender: TObject;
  Component: TComponent; ConnLostCause: TConnLostCause;
  var RetryMode: TRetryMode);
begin
  if (Sender as TUniConnection).Tag < 1 then
  begin
    RetryMode := rmReconnectExecute;
    (Sender as TUniConnection).Tag := (Sender as TUniConnection).Tag + 1;
  end
  else
  begin
    RetryMode := rmRaise;
    (Sender as TUniConnection).Tag := 0;
  end;
end;

procedure TFServerDM.UniMysqlConnectionAfterConnect(Sender: TObject);
begin
  (sender as TUniConnection).Tag := 0;
end;

感谢清幽傲竹!用这方法,就不怕数据库与AppServer的异常断开了!

我没有遇到这个问题,可能的原因是生产环境好,用的还是MSSQL,联接没有异常断开过,竹子用的是MYSQL。
目录
相关文章
|
SQL 测试技术
Replication的犄角旮旯(五)--关于复制identity列
原文:Replication的犄角旮旯(五)--关于复制identity列     《Replication的犄角旮旯》系列导读 Replication的犄角旮旯(一)--变更订阅端表名的应用场景 Replication的犄角旮旯(二)--寻找订阅端丢失的记录 Replication的犄角...
1260 0
|
测试技术 数据库
解剖SQLSERVER 第十六篇 OrcaMDF RawDatabase --MDF文件的瑞士军刀(译)
原文:解剖SQLSERVER 第十六篇 OrcaMDF RawDatabase --MDF文件的瑞士军刀(译) 解剖SQLSERVER 第十六篇 OrcaMDF RawDatabase --MDF文件的瑞士军刀(译) http://improve.dk/orcamdf-rawdatabase-a-swiss-army-knife-for-mdf-files/ 当我最初开始开发OrcaMDF的时候我只有一个目标,比市面上大部分的书要获取MDF文件内部的更深层次的知识 随着时间的推移,OrcaMDF确实做到了。
1310 0
|
存储 SQL
解剖SQLSERVER 第十四篇 Vardecimals 存储格式揭秘(译)
原文:解剖SQLSERVER 第十四篇 Vardecimals 存储格式揭秘(译) 解剖SQLSERVER 第十四篇    Vardecimals 存储格式揭秘(译) http://improve.dk/how-are-vardecimals-stored/ 在这篇文章,我将深入研究vardecimals 是怎麽存储在磁盘上的。
967 0
|
数据库 关系型数据库 Oracle
|
SQL Java 数据库连接
一口一口吃掉Hibernate(三)——Hibernate给表和字段设置前后缀及分隔符
       在《一口一口吃掉Hibernate(一)——使用SchemaExport生成数据表》中介绍了如何生成数据表。但是这只是最基本的。Hibernate在生成或者操作数据库时,会受一些限制。
1001 0
|
JSON 数据格式 数据库
[转载红鱼儿]kbmmw 开发点滴:kbmMW:Unknown property:indexes
利用kbmMW的QueryServices,对数据集进行提交,当改用JSON格式时,客户端提交时,会产生这个错误,明明已经更新数据库,也产生这个错误!如果换成Bin格式,则正常。 能过查看kbmMWJSONStreamFormat单元,问题产生在这行代码:nIndexDefs:=nDefs.AsArray['indexes']; 可以这样理解: 客户端提交数据后,服务器会返回一个错误结果数据集,不管有无错误,都要返回这个结果集。
930 0
|
数据处理
[转载红鱼儿]kbmmw 开发点滴:kbmmW服务端事务控制
关于kbmMW的事务控制,前文已经在客户端实现,通过kbmMWClientTransaction来控制多个数据集的提交,在客户端提交多数据集,实际上,是在客户端实现业务逻辑,并通过一个事务来完成数据处理,这是违反多层架构的做法,实际项目中,需要在服务端,往往是利用多个数据集进行业务处理,并且用事务来控制,那我们该怎么办呢?换句话说,如何在服务实现事务的控制。
831 0

热门文章

最新文章