请问下C++下的oracle开发使用OTL技术能像下面代码这样使用吗??主要是能像下面那样嵌套访问数据库吗?我在plsql developer下面直接执行这条SELECT 语句有数据出来,但放在代码里面,代码跑到这个位置就没有数据。请大家帮我看看,谢谢 
try
{
strSql = "SELECT DISTINCT s.SCENE_ID, s.SCENE_TYPE, s.SCENE_NAME, s.REGEX_RULE, s.XDR_TYPE, s.TIME_SCOPE_FUNC, s.TIME_SCOPE_VALUE, s.KEY_FIELD, s.DATA_FIELD ";
strSql += " FROM HIGHQUOTA_SCENE_INFO s, HIGHQUOTA_CFG_INFO c ";
strSql += " WHERE s.SCENE_ID = c.SCENE_ID AND c.CFG_NAME = :cfg_name<char[50]> ";
strSql += " order by s.SCENE_ID ";
otl_stream otlCur2(1, strSql.c_str(), m_db);
otlCur2.set_commit(0);
otlCur2 << szConfigFile;
while(!otlCur2.eof())
{
otlCur2 >> nSceneId;
CSceneInfo* pSceneInfo = g_runningInfo.getScene(i);
otlCur2 >> pSceneInfo->m_strSceneType;
otlCur2 >> pSceneInfo->m_strSceneName;
otlCur2 >> pSceneInfo->m_strRegexRule;
otlCur2 >> pSceneInfo->m_strXdrType;
otlCur2 >> pSceneInfo->m_strTmFuncType;
otlCur2 >> pSceneInfo->m_strTmFuncValue;
otlCur2 >> pSceneInfo->m_strXdrKey;
otlCur2 >> pSceneInfo->m_strXdrDate;

string strSql2 = "SELECT COUNT(*) FROM HIGHQUOTA_CONDITION_INFO WHERE SCENE_ID = :scene_id<int>";
otl_stream otlCur3(1, strSql2.c_str(), m_db);
otlCur3.set_commit(0);
otlCur3 << nSceneId;
otlCur3 >> nCondCount;
pSceneInfo->initCondition(nCondCount);

strSql2 = "SELECT CONDITION_FUNC,CONDITION_THRESHOLD FROM HIGHQUOTA_CONDITION_INFO WHERE SCENE_ID = :scene_id<int>";
otl_stream otlCur4(1, strSql2.c_str(), m_db);
otlCur4.set_commit(0);
otlCur4 << nSceneId;
while(!otlCur4.eof())
{
CConditionInfo* pConditionInfo = pSceneInfo->getCondition(j);
otlCur4 >> pConditionInfo->m_strFuncExpression;
otlCur4 >> pConditionInfo->m_strThreshold;
j++;
}
i++;
}
}
catch( otl_exception& e )
{
char szLog[256];
sprintf(szLog, "Fail to connect db! err:%s\n%s\n%s", e.msg, e.stm_text, e.var_info);
LogAppend(FATAL_LEVEL, "DebugInfo", szLog);
return RET_EXCEPTION;
}
m_db.commit();
m_db.logoff();