清幽傲竹实现的kbmMWServer数据库联接失败重联(转载红鱼儿)
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;
begin
 
(sender as TUniConnection).Tag := 0;
end;
感谢清幽傲竹!用这方法,就不怕数据库与AppServer的异常断开了!
我没有遇到这个问题,可能的原因是生产环境好,用的还是MSSQL,联接没有异常断开过,竹子用的是MYSQL。
清幽傲竹实现的kbmMWServer数据库联接失败重联(转载红鱼儿)的更多相关文章
- 清幽傲竹实现kbmMWServer的方法(转)
		感谢竹子! 整体思路,是不用kbmMWUNIDACQuery,而是直接用uniQuery做数据查询,利用kbmMWUNIDACConnectioPool取得数据库联接,自己再建一个uniQuery对象 ... 
- "SQLServer无法打开用户默认数据库,登录失败,错误4064"的解决办法
		"SQLServer无法打开用户默认数据库,登录失败,错误4064"的解决办法 1.检查登录密码 如果密码错误,修改数据库密码,用windows身份验证登录进去, (1)安全--登 ... 
- tomcat 运行异常Cannot create PoolableConnectionFactory (到主机 的 TCP/IP 联接失败)(用户sa登录失败)
		这是在java web中启动tomcat遇到的问题,因为这个问题,整整折腾了两天的时间,找了很都解决方案,但终究还是不能正常.现在整理下这个问题的解决方案: 首先,出这个问题之前,请检查一下的问题,这 ... 
- SQL Server数据库附加失败:错误5120和错误950
		再次敲机房,想參考曾经的物理模型,结果在附加数据库这一环节出现了点问题,以下总结一下. 1.附加数据库失败,错误5120 对于这样的错误,我在网上搜集了一下,主要有下面几种解决的方法: 方法一:将要附 ... 
- 【转载】Sqlserver强制密码过期导致数据库登录失败
		Sqlserver在设置登录账户信息的时候,有个复选框信息会被默认勾上,即强制实施密码策略,默认勾选上的还有强制密码过期.如果勾上了这个强制密码过期后,则你的账户密码在一定时间登录后会提示Sqlser ... 
- ORA-03113: end-of-file on communication channel  磁盘慢,数据库启动失败
		磁盘慢,数据库启动失败:解决思路:1.让数据文件offline: 2.删除表空间 SQL> startup pfile='/server/oracle/admin/test/pfile/init ... 
- Oracle 11g 发行版2的安装,PLSQL_Developer安装 , Oracle数据库安装失败,完全卸载,常用的命令
		Oracle 11g 发行版2的安装 PLSQL_Developer安装 Oracle数据库安装失败,完全卸载oracle11g 常用的命令 Oracle 11g 发行版2的安装 1. 下载 下载地址 ... 
- Linux删除ORACLE数据库用户失败提示ORA-01940解决方法
		操作环境 SuSE11+Oracle11gR2 问题现象 删除ORACLE数据库用户失败,提示ORA-01940: cannot drop a user that is currently conne ... 
- Hive中将文件加载到数据库表失败解决办法
		Hive中将文件加载到数据库表失败解决办法(hive创建表失败) 遇到的问题: FAILED: Execution Error, return code 1 from org.apache.hadoo ... 
随机推荐
- poj1850(组合数)
			题目链接:http://poj.org/problem;jsessionid=B0D9A01EC0F1043088A37454B6CED469?id=1850 题意:给字符串编号,该字符串必须满足由小 ... 
- 牛客网练习赛43-C(图论)
			题目链接:https://ac.nowcoder.com/acm/contest/548/C 题意:有n个知识点,学会每个知识点花T[i],已经学会了其中k个知识点,有m组关系,t1,t2,t3,表示 ... 
- c++ 读入优化、输出优化模板
			0. 在有些输入数据很多的变态题中,scanf会大大拖慢程序的时间,cin就更慢了,所以就出现了读入优化.其原理就是一个一个字符的读入,输出优化同理,主要使用getchar,putchar函数. 1. ... 
- unity填色绘画游戏Drawing Coloring Extra Edition
			. 下载地址: https://item.taobao.com/item.htm?spm=0.7095261.0.0.2e611debLdF3mf&id=576153069662 
- ASP.Net MVC 中EF实体的属性取消映射数据库、自定义名称
			例如:数据库中一个字段名称为CompanyId 自定义实体数据名称 [Column("CompanyId")] public int Id{ get; set; } 这样就可以使用 ... 
- Linux系统(Centos)下安装nodejs并配置环境
			总结Centos下安装nodejs并配置环境,记录成功安装的方法.推荐的安装方法是利用已编译的二进制文件安装,不推荐使用源码的形式安装,一是源码安装比较麻烦,二是需要自行下载编译浪费时间. 1.安装n ... 
- GUI界面操作-实现简单的记事本
			wxPython编写界面程序的基本流程: 1.import wx #导入wxPython的包 2.class App(wx.App) #子类化一个应用程序类 3.def onInit(self ... 
- Delphi: RTTI与ini配置文件
			项目以Rtti特性做文件参数配置,简化每项读写ini操作,记录以做备忘,代码如下: unit uGlobal; interface uses Windows, Messages, SysUtils, ... 
- C#的格式化(进制转换|位运算)
			1.首先做一下知识的普及C或c Currency 货币格式D或d Decimal 十进制格式E或e Exponent 指数格式F或f Fixed point (float)固定精度格式G或g Gene ... 
- Pycharm使⽤用秘笈v0.3PyCharm使⽤用秘籍
			Pycharm使⽤用秘笈v0.3PyCharm使⽤用秘籍 1. PyCharm的基本使⽤用 在PyCharm下为你的Python项⽬目配置Python解释器器 1. Project:当前项⽬目名> ... 
