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。

转载于:https://www.cnblogs.com/xalion/p/4672847.html

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

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

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

  2. asp.net2.0如何加密数据库联接字符串

    asp.net2.0如何加密数据库联接字符串 在asp.net2.0中,发布网站时,加密web.config,这样可以有效保证数据库用户和密码安全,其步骤如下: 1.添加密钥 执行:C:/WINDOW ...

  3. 数据库附加出错显示服务器,SQL Server数据库附加失败的解决办法

    SQL Server数据库附加失败的解决办法 本文为大家分享了SQL Server数据库附加失败的具体解决方法,供大家参考,具体内容如下 1.错误3415 问题:附加数据库的时候,发现总是附加失败,查 ...

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

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

  5. 【数据库】如何解决数据库附加失败问题

    你遇到过数据库附加失败的问题?你是否通过数据导出实现的?或许至今还没有解决.今天找到一个解决方案: 1,找到要附加的数据库xxx.mdf和xxx.ldf文件. 2,分别单击文件右键-->属性-- ...

  6. JDBC通过连接池链接数据库总是失败的解决办法

    应用服务器:glassfish JDBC通过连接池链接数据库总是失败,通过查看日志,发现是APACHE报DHCP 错误, 只需要通过访问4848端口的管理程序,重新PING下JDBC当前连接池即可.

  7. python从云端数据库获取数据失败_使用%s的Python MySQL Connector数据库查询失败

    使用%s的Python MySQL Connector数据库查询失败 我有一个基本程序,应该查询包含用户信息的数据库.我正在尝试为特定用户选择信息并将其打印到控制台. 这是我的代码:import my ...

  8. oracle出错如何备份数据,Oracle数据库备份失败, 出错代码:0xe0001402

    Oracle数据库备份失败, 出错代码:0xe0001402文章:TECH117143|创建日期: 2009-01-31|更新日期: 2009-01-24| 文章类型Technical Solutio ...

  9. maximo跟java_maximo中直接应用得到数据库联接

    在二次开发中,有时需要大量的运算时,不想用mboSet对像,想直接操作数据库,为此需要在java得到maximo的数据库联接对像 如下: import psdi.mbo.*; import java. ...

最新文章

  1. 美多商城之用户登录(账号登录)
  2. 使用 NOR Flash 中的supervivi 下载裸机程序到NandFlash
  3. 云原生系列「二」Kubernetes网络详解
  4. 基于POI的读写Excel文件的工具类
  5. 802.1X基本配置
  6. 杭电acm 1846 Brave Game(巴什博弈)
  7. ios xcode如何在控制台打印frame
  8. Aurora-------在 MSOffice 内输入 LaTeX 公式的很好用插件
  9. 关于H264相关的EBSP,RBSP,SODP的说明
  10. pyhton爬虫爬取100首诗
  11. 详解POW工作量证明原理
  12. 关闭和打开445端口
  13. 从运维技术架构变化初探运维组织转型
  14. Semantic Structure-BasedWord Embedding by Incorporating Concept Convergence and Word Divergence
  15. 蓝桥杯单片机比赛学习:8、PWM的基本原理之呼吸灯
  16. WIN10系统CH340驱动预安装成功,但是设备显示器中的端口不能显示CH340驱动
  17. 支付宝内部功能调用APPid列表
  18. uni-app云打包与本地打包
  19. 通过souce执行shell脚本与直接执行脚本的区别
  20. 记录一起走过的那些日子

热门文章

  1. CSS字体描边,黄金金属质感
  2. 利用 Window Builder 快速搭建Java GUI 界面
  3. 基于MATLAB的Floyd算法
  4. Java 键盘输入数组并输出代码
  5. 下载历史版本的maven
  6. win10系统电脑时间同步服务器地址,小编为你解析win10系统时间同步服务器地址设置的问题【图】...
  7. ccf:201909-2 小明种苹果(续)
  8. Domino 11:绝地归来!
  9. C++之TopK求解
  10. Proxmox VE(PVE)添加硬盘详解