引用第1楼XChinux于2013-07-31 13:04发表的 :
所以你就用QSqlQuery查一下"select 1",能正确返回结果,那就通畅,否则就有问题了。
根据我的测试:
连上数据库,再拔掉掉网线,select 1 查询会阻塞好一阵子
最理想的还是lastError::number() ==11时,close掉连接
下次isOpen失败,再重连
连接时如果长时间阻塞,多半是因为“目标计算机积极拒绝”,网络连不上
而这个时候QODBC的connectOptions是不管用的(至少在我这不管用)
所以我想,要不连数据库之前,先来条TCP连接探测对方IP和端口,
如果UnconnectedState,那也不用open了,直接报连不上吧