我用VC开发一个项目,通过ODBC访问ORACEL8.17的数据库,如果访问的表记录为几百条时很正常,但当表里数据达到上万条时便会出现非法操作,VC提示SQORA32.DLL访问违例。SQORA32.DLL是ORACLE提供的接口吧,这是怎么回事呢?下面有VC代码,开始我以为是VC的问题,现在想想可能是ORACLE的问题,请高手赐教!我在一个函数里执行了SQL
void CMainFrame::OnOperCreateCFK()
{
.
m_dbODBC.ExecuteSQL("truncate table yycx_cfb;");
m_dbODBC.ExecuteSQL("insert into yycx_cfb ...");
.
}
如果记录有几万条再执行下面这个定时器函数:
void CMainFrame::OnTimer(UINT nIDEvent) 
{
.
CRSetYYCX_CFB rsCFB;
rsCFB.m_strFilter.Format("...");
rsCFB.m_pDatabase = &m_dbODBC;
TRY
{
rsCFB.Open();
}
CATCH(CDBException, e)
{
CString strErr;
strErr.Format("File Error in rsCFB.Open(), cause %s", e->m_strError);
MessageBox(strErr);
}
END_CATCH
.
}
结果执行一两次rsCFB.Open();就会出现访问违例, 这是为什么?