vc++ 使用oracle ole db访问oracle stored procedure
有如下步骤生成的一个stored procedure
1。create table test_table
(ID NUMBER(5),
FIRSTNAME VARCHAR2(10)
);
2。insert into test_table values(1,'hello');
3。CREATE OR REPLACE PACKAGE TEST_PACKAGE
as type test_type is ref cursor return test_table%rowtype;
end test_package;
/
4。 CREATE OR REPLACE PROCEDURE TEST_PROCEDURE (
test_cursor in out test_package.test_type )
as
begin
open test_cursor for
select * from test_table;
end test_procedure;
/
我用以下代码去读取stored procedure 的参数;
schemaRS = adoConnection->OpenSchema (adSchemaProcedureParameters, vtCriteria);
发现返回的schemaRs的size=4(按照道理似乎应该是1)
4个参数的分别是:
name 类型名 类型
test_cursor ref cursor adIUnKnown
"" PL/SQL record adIUnKnown
ID Number adNumeric
FirstName VARCHAR2 adchar
四个参数都是输出的参数(adoParamOutput)。
请问这个结果正确么?
如果正确,再程序中adoCommand->CommandText应该写怎样的sql语句来执行它。
如果不正确,那么是不是vtCriteria的值错误。
望高手解答一下。
万分感谢!