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。

清幽傲竹实现的kbmMWServer数据库联接失败重联(转载红鱼儿)的更多相关文章

  1. 清幽傲竹实现kbmMWServer的方法(转)

    感谢竹子! 整体思路,是不用kbmMWUNIDACQuery,而是直接用uniQuery做数据查询,利用kbmMWUNIDACConnectioPool取得数据库联接,自己再建一个uniQuery对象 ...

  2. "SQLServer无法打开用户默认数据库,登录失败,错误4064"的解决办法

    "SQLServer无法打开用户默认数据库,登录失败,错误4064"的解决办法 1.检查登录密码 如果密码错误,修改数据库密码,用windows身份验证登录进去, (1)安全--登 ...

  3. tomcat 运行异常Cannot create PoolableConnectionFactory (到主机 的 TCP/IP 联接失败)(用户sa登录失败)

    这是在java web中启动tomcat遇到的问题,因为这个问题,整整折腾了两天的时间,找了很都解决方案,但终究还是不能正常.现在整理下这个问题的解决方案: 首先,出这个问题之前,请检查一下的问题,这 ...

  4. SQL Server数据库附加失败:错误5120和错误950

    再次敲机房,想參考曾经的物理模型,结果在附加数据库这一环节出现了点问题,以下总结一下. 1.附加数据库失败,错误5120 对于这样的错误,我在网上搜集了一下,主要有下面几种解决的方法: 方法一:将要附 ...

  5. 【转载】Sqlserver强制密码过期导致数据库登录失败

    Sqlserver在设置登录账户信息的时候,有个复选框信息会被默认勾上,即强制实施密码策略,默认勾选上的还有强制密码过期.如果勾上了这个强制密码过期后,则你的账户密码在一定时间登录后会提示Sqlser ...

  6. ORA-03113: end-of-file on communication channel 磁盘慢,数据库启动失败

    磁盘慢,数据库启动失败:解决思路:1.让数据文件offline: 2.删除表空间 SQL> startup pfile='/server/oracle/admin/test/pfile/init ...

  7. Oracle 11g 发行版2的安装,PLSQL_Developer安装 , Oracle数据库安装失败,完全卸载,常用的命令

    Oracle 11g 发行版2的安装 PLSQL_Developer安装 Oracle数据库安装失败,完全卸载oracle11g 常用的命令 Oracle 11g 发行版2的安装 1. 下载 下载地址 ...

  8. Linux删除ORACLE数据库用户失败提示ORA-01940解决方法

    操作环境 SuSE11+Oracle11gR2 问题现象 删除ORACLE数据库用户失败,提示ORA-01940: cannot drop a user that is currently conne ...

  9. Hive中将文件加载到数据库表失败解决办法

    Hive中将文件加载到数据库表失败解决办法(hive创建表失败) 遇到的问题: FAILED: Execution Error, return code 1 from org.apache.hadoo ...

随机推荐

  1. hbase 定时备份

    #!/bin/bash#su - hdfs <<EOFdata1=`date "+%Y%m%d%H%M%S"`data2="/user/news/hbase_ ...

  2. centos openvpn 安装

    安装环境: 系统:centos 6.5 openvpn:openvpn-2.2.1 lzo:lzo-2.09    下载地址:http://www.oberhumer.com/opensource/l ...

  3. CentOS 下搭建Hudson

    1.下载Hudson安装包 wget http://ftp.jaist.ac.jp/pub/eclipse/hudson/war/hudson-3.3.3.war 2.执行 java -jar hud ...

  4. AVL树与红黑树(R-B树)的区别与联系

    AVL树(http://baike.baidu.com/view/593144.htm?fr=aladdin),又称(严格)高度平衡的二叉搜索树.其他的平衡树还有:红黑树.Treap.伸展树.SBT. ...

  5. python 学习笔记 ---- 数据类型

    Python有五个标准的数据类型: Numbers(数字) String(字符串) List(列表) Tuple(元组) Dictionary(字典) ① List 列表 和 Tuple 元组     ...

  6. maven构建ssh工程

    1.1 需求 在web工程的基础上实现ssh工程的创建,规范依赖管理. 1.2 数据库环境 使用之前学习hibernate创建的数据库:    1.3 创建父工程 选择创建Maven Project ...

  7. 比特币学习-Transaction的locktime属性

    Locktime, also known as nLockTime from the variable name used in the reference client, defines the e ...

  8. SQL新增数据取表主键最新值

    string strsql = "insert into SB_Survey(title) values ('标题');select @@IDENTITY"; int s = in ...

  9. mysql utf8mb4

    遇到的问题 有一个项目需要存储 emoji 表情.另外极少数中文在存储的时候也遇到 utf8 编码格式的数据库在储存时报错. Rails creating schema_migrations - My ...

  10. 面试题集锦;有关作用域和this的指向

    作用域面试题: 1. fn() function fn () { console.log(12) } var as = function () { console.log(45) } 2. var a ...