读书人

ado 如果断开 如何重连?

发布时间: 2012-06-01 16:46:36 作者: rapoo

ado 如果断开 怎么重连????
ado连接oracle数据库,如果连接长时间不用被防火墙端口后,怎么重连?
用简单的先close,在open 不行,有高手知道怎么解决吗?

[解决办法]
以前用delphi做oracle项目的时候,也遇到这个问题。被防火墙隔断,会变成空连接,客户端这边不会有断开的提示。
如果是普通的socket链接的话,用Close再Open是没问题的,oracle连接就没用,一直没有解决。
后来改用PRO *C来开发,处理这种情况,是执行了sql之后,会返回ora-XXXX类似这样的连接失败错误,这时重新调用oracle的sql语句connect重连就OK

所以我怀疑是控件的原因,我建议楼主的TADOConnect控件使用动态生成,发现连接被隔断之后,释放掉这个控件重新创建。

[解决办法]

探讨
以前用delphi做oracle项目的时候,也遇到这个问题。被防火墙隔断,会变成空连接,客户端这边不会有断开的提示。
如果是普通的socket链接的话,用Close再Open是没问题的,oracle连接就没用,一直没有解决。
后来改用PRO *C来开发,处理这种情况,是执行了sql之后,会返回ora-XXXX类似这样的连接失败错误,这时重新调用oracle的sql语句connect重连就OK
……

[解决办法]
探讨
所以我怀疑是控件的原因,我建议楼主的TADOConnect控件使用动态生成,发现连接被隔断之后,释放掉这个控件重新创建。

读书人网 >.NET

热点推荐