用ADO连接公网的IP,经常会连接不上,有什么办法可以解决? 经常会超时,连不上,该如何处理

用ADO连接公网的IP,经常会连接不上,有什么办法可以解决? 经常会超时,连不上
我是连的国内的公网IP,好像QQ也是连的公网IP,就很少有超时现象。

HRESULT   hr;  
try
{
hr=m_pConnection.CreateInstance( "ADODB.Connection ");
/******************连接数据库*************************/
if(SUCCEEDED(hr))
{
m_pConnection-> ConnectionTimeout=8;
//   设置连接的超时时间
h1=m_pConnection-> Open( "Driver=SQL   Server;Database=Video;Server=202.106.0.20;UID=sa;PWD=sa; ", " ", " ",adModeUnknown);
}
}
catch(_com_error   e)   //捕捉异常
{
CString   errMessage;
errMessage.Format( "连接数据库失败!\r\n错误信息:%s ",e.ErrorMessage());
AfxMessageBox(errMessage);
}


------解决方案--------------------
做个定时期 ,执行 Select @@CONNECTIONS 断了重连