ADO连接Oracle,断线后无法重连(200)

  • 主题发起人 主题发起人 loco
  • 开始时间 开始时间
L

loco

Unregistered / Unconfirmed
GUEST, unregistred user!
用ADO连接Oracle数据库,中间连接断了一次后,关闭打开下和重新创建ADOConnection都没有效果。(注:重连SQLSERVER数据正常),只有把程序重开后才能正常连接成功,有没有不用重开程序就自动重连的办法?
 
关注下,我的一个程序问题和你的类似,你的解决方式可以给我指路......
 
不明白“关闭打开下和重新创建ADOConnection都没有效果”什么意思,试下afterdisconnect 里 重新连接。看行不!
 
这不是ADO的问题,这是TNS没有唤醒造成的.ORACLE服务器的sqlnet.ora里可以设置检查客户端是否alive的时间间隔sqlnet.expire_time = 10-----------------------------------------要是觉得要验证一下,你在客户端运行一下lsnrctl stop 然后再运行lsrnctl start
 
alive的时间间隔设小一点
 
afterdisconnect里面是捕捉不到数据库连接断开事件的,除非程序中调用了active:=false;或者close;帮你顶。
 
补充下我的调试步骤:1。用ado连接oracle读取一个表。2。重起oracle监听服务。3。用第一步的连接重读oralce表,出错后重建连接还是出错。to:luoyanqing119,你说的那个参数对在windows系统下oracle使用有很多问题。而且那个判断死连接的方法即时性很不好。
 
建议你用Direct Oracle Access吧,非常好用且效率很高
 
后退
顶部