ado 如果断开 怎么重连???? ado连接oracle数据库,如果连接长时间不用被防火墙端口后,怎么重连?用简单的先close,在open 不行,有高手知道怎么解决吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 写一个TConnectionHelper类包装AdoConnection,在这个类中处理断开检测逻辑,AdoQuery等访问数据库的类都从TConnectionHelper类中获取Connection。 以前用delphi做oracle项目的时候,也遇到这个问题。被防火墙隔断,会变成空连接,客户端这边不会有断开的提示。如果是普通的socket链接的话,用Close再Open是没问题的,oracle连接就没用,一直没有解决。后来改用PRO *C来开发,处理这种情况,是执行了sql之后,会返回ora-XXXX类似这样的连接失败错误,这时重新调用oracle的sql语句connect重连就OK所以我怀疑是控件的原因,我建议楼主的TADOConnect控件使用动态生成,发现连接被隔断之后,释放掉这个控件重新创建。 是否可试用ADOCONTION组件,在程序中给ADOCONTION.string赋值 如果是普通的socket链接的话 这个什么意思,我用TADOConnect控件close再open也不行。 我ado连sql2000/2005,断了直接再open就行的是不是连oracle就是比较特别?而且是出错后导致的断开,才这么特别? 这样你所有数据集控件的CONNECTION引用都要重新赋值一次.. 试出来了,close后sleep 3秒钟就可以连上了,之前是sleep 2秒钟后在open的,哎 DataSnap下ClientDataSet如何使用参数 【泰坦散分贴】星期四 系统提示 file not found 'unit1.dcu' 数据复制 与网络有关的API函数有哪些?系统中与网络有关的动态库有哪些?在线等待! 高级编程、类模板 ,函数构造TClass.Create? 关于修改ACCESS表记录的小问题,急急急,在线等 目前Delphi中最好得打印报表是什么? 关于ADO+SQL Server2000数据库备份的问题! 程序为何不能正常运行?见笑了。 FormatFloat 如何设置ReportBuilder 里的ppDBtext 为横向显示,在线等待..
如果是普通的socket链接的话,用Close再Open是没问题的,oracle连接就没用,一直没有解决。
后来改用PRO *C来开发,处理这种情况,是执行了sql之后,会返回ora-XXXX类似这样的连接失败错误,这时重新调用oracle的sql语句connect重连就OK所以我怀疑是控件的原因,我建议楼主的TADOConnect控件使用动态生成,发现连接被隔断之后,释放掉这个控件重新创建。