主题:应用程序在运行一段时间后,就再也连接不上数据库了
我的应用程序是在vc++下用ADO连接ORACLE数据库的。程序在运行一段时间后,就再也连不上数据库了。需要重新启动应用程序后,才能继续进行。每次发生故障时程序连续运行的时间也不固定。连结函数如下
bool Connect()
{
CString strConn;
strConn.Format("Provider=OraOLEDB.Oracle;Data Source=%s;User Id=%s;Password=%s;",
m_strDBName,
m_strDBUser,
m_strDBPass);
HRESULT hr;
try
{
hr = m_pConn.CreateInstance(__uuidof(Connection));
if(SUCCEEDED(hr))
{
m_pConn->Open((_bstr_t)strConn,"","",adModeUnknown);
}
else
{
m_esGlobal.WriteLog("不能创建Connection对象!");
return false;
}
}
catch(_com_error e)
{
return false;
}
return true;
}
bool Connect()
{
CString strConn;
strConn.Format("Provider=OraOLEDB.Oracle;Data Source=%s;User Id=%s;Password=%s;",
m_strDBName,
m_strDBUser,
m_strDBPass);
HRESULT hr;
try
{
hr = m_pConn.CreateInstance(__uuidof(Connection));
if(SUCCEEDED(hr))
{
m_pConn->Open((_bstr_t)strConn,"","",adModeUnknown);
}
else
{
m_esGlobal.WriteLog("不能创建Connection对象!");
return false;
}
}
catch(_com_error e)
{
return false;
}
return true;
}