_ConnectionPtr m_pConnection;
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open("Provider=MSDAORA.1;Data Source=orcl188;","hwdsw","ds2014",adModeUnknown);当程序第一次启动时,就连接数据库,且成功.这时程序进入正常运行状态,这时,我开一个线程时时检测,数据库连接是否中断,如果中断,我好在连接,请,如果判断m_pConnection,是否与数据库连接正常
有人说用:
m_pConnection->GetState()== adStateOpen adStateClosed = 0,
adStateOpen = 1,
adStateConnecting = 2,
adStateExecuting = 4,
adStateFetching = 8 我检测过了,这个只能说明本地的一个连接状态,如果网络突然中断,那么GetState()的状态还是adStateOpen,那么,如果网络中断,应该如何检测了,或是本机与数据库失去连接,又该如何检测了,
m_pConnection.CreateInstance(__uuidof(Connection));
m_pConnection->Open("Provider=MSDAORA.1;Data Source=orcl188;","hwdsw","ds2014",adModeUnknown);当程序第一次启动时,就连接数据库,且成功.这时程序进入正常运行状态,这时,我开一个线程时时检测,数据库连接是否中断,如果中断,我好在连接,请,如果判断m_pConnection,是否与数据库连接正常
有人说用:
m_pConnection->GetState()== adStateOpen adStateClosed = 0,
adStateOpen = 1,
adStateConnecting = 2,
adStateExecuting = 4,
adStateFetching = 8 我检测过了,这个只能说明本地的一个连接状态,如果网络突然中断,那么GetState()的状态还是adStateOpen,那么,如果网络中断,应该如何检测了,或是本机与数据库失去连接,又该如何检测了,
执行一条无关紧要的SQL语句,检测返回结果。
m_pConnection->Open("Provider=MSDAORA.1;Data Source=orcl188;","hwdsw","ds2014",adModeUnknown);
如果这个操作有异常,就直接在做一次数据库连接!
直到连接成功!推出就好了!
在一个循环里完成,
m_pConnection->Open("Provider=MSDAORA.1;Data Source=orcl188;","hwdsw","ds2014",adModeUnknown);
如果这个操作有异常,就直接在做一次数据库连接!
直到连接成功!推出就好了!
帅哥,只能这样反复的连接呀,这样会不会太累了,有更好的方法吗