pb使用ado.net数据库接口,能解决DW断网重连的有关问题吗

pb使用ado.net数据库接口,能解决DW断网重连的问题吗
pb使用ado.net数据库接口,能解决DW断网重连的问题吗?

要实现断网重练,首先得判断当前数据库是否连接,pb没提供方法,只能定时查询数据。
ado.net好像有判断数据库状态的方法,如果用ado.net数据库接口,不知能否判断数据库连接窗口?

------解决思路----------------------
ado.net 好像可以设置超时的,效果会好些,
------解决思路----------------------
引用:
pb使用ado.net数据库接口,能解决DW断网重连的问题吗?

要实现断网重练,首先得判断当前数据库是否连接,pb没提供方法,只能定时查询数据。
ado.net好像有判断数据库状态的方法,如果用ado.net数据库接口,不知能否判断数据库连接窗口?


断网是通过数据库连接是没办法判断的,只能通过定时检索数据来实现

可以写个sql测试

------解决思路----------------------
本帖最后由 lzp_lrp 于 2014-09-10 10:04:54 编辑
引用:
嗯,我想多了,ado.net里的属性,pb里应该用不了

经过试验,在dberr事件内,sqldbcode等于999时,表示数据库连接失败
我用的ole db连接的ms sql

所以,在dberr事件内,判断sqldbcode等于999,对数据库进行了重新连接,初步试验成功,重练后能进行继续操作了,不用退出程序重进,不错


是的,通过判断sqldbcode,进行重连,我用oracle时也这么处理的

另:注意数据库重连后,数据窗口的事务对象要重新settransobject一下,否则检索和保存时会出错
------解决思路----------------------
引用:
嗯,我想多了,ado.net里的属性,pb里应该用不了

经过试验,在dberr事件内,sqldbcode等于999时,表示数据库连接失败
我用的ole db连接的ms sql

所以,在dberr事件内,判断sqldbcode等于999,对数据库进行了重新连接,初步试验成功,重练后能进行继续操作了,不用退出程序重进,不错

感谢分享。。。