数据库连接中断,导致程序报错。
1、设置connecttimeout是否可以解决问题?如果设置connecttimeout=0,是不是数据库会不断的尝试连接?
2、有什么办法能够解决数据库连接中断的问题?
3、如果物理连接暂时中断,连接恢复后,数据库是否能够自动重新连接?

解决方案 »

  1.   

    1、connecttimeout=0是无限制超时,一般不要设置,默认15
    2、错误捕获
    3、物理连接暂时中断,连接恢复,这种情况没有测试过,因为不推荐启动程序后就一直连接数据库,应该在进行数据库交互时在连接,操作完成后记得断开,对于暂时中断时产生的业务数据,可以现在本地缓存
      

  2.   

    1,connecttimeout=0解决不了,不会不断的尝试连接
    2,可以设置KeepConnection为False来解决连接中断问题,这样设置会牺牲效率,相当于每次执行SQL语句ADOCONNECTION都要自动建立一次连接,一般来说是感觉不到效率下降的,
    3,如果KeepConnection为TRUE,连接暂时中断,连接恢复后,数据库不能够自动重新连接
      

  3.   

    当然配合connecttimeout,默认值就好,再就是使用InfoMessage事件看看能不能获取到错误信息,或者使用TRY CATCH语句