ado调用oracle存储过程输出结果集,该怎么解决

ado调用oracle存储过程输出结果集
之前做的SQL Server数据库需要迁移到oracle数据库上,发现差异之大真是坑爹啊。
我写了个数据库模块封装ado操作,调用oracle存储过程。
oracle存储过程定义如下
create or replace procedure sp_GetAllDataDefine
(p_recordset1 OUT SYS_REFCURSOR)
is
begin
       OPEN p_recordset1 FOR
        SELECT * 
          FROM PQDATADEFINE;
end sp_GetAllDataDefine;

用pl/sql测试执行是能够拿到数据的。但是用ado执行能成功,但是得到的结果集状态时adStateClosed。ado调用代码如下
char* strProcName="SP_GETALLDATADEFINE";
char sql[512];
sprintf_s(sql, 500, "{CALL %s(?)}", strProcName);
_CommandPtr pCmd = (_Command *)pParameters->GetCommand();
pRs.CreateInstance (__uuidof (Recordset));
pCmd->ActiveConnection = m_pConnection;
pCmd->CommandText = sql;
int lt = pRs->LockType;
int ct = pRs->CursorType;
pRs = pCmd->Execute(NULL, NULL, 
adCmdStoredProc | adCmdUnspecified);

求高人指点,项目很急啊ado调用oracle存储过程输出结果集,该怎么解决

------解决方案--------------------
不懂帮顶。。

不过你这个ADO是属于哪块的知识啊?感觉跟oracle没啥关系。。。
------解决方案--------------------
用ADO助手先测试看。选了adCmdStoredProc 后不需要在存储过程前面加CALL了。