Hi, i have a problem. I'm upgrade a ASP web from server 2000 to 2008 r2. The original provider was MSDAORA.
this has a SP call with a resultset syntax "call package.stored_procedure(99,9,'xxxxxx','','','','x',{resultset 1000,o_ope_ide_ope, o_ope_fec_reg, o_cli_ide_cli, o_tir_cod_tir, o_CLI_RUT_CLI, o_CLI_DIV_CLI, o_CLI_NOM_CLI,o_CLI_APE_PAT, o_CLI_APE_MAT,o_eta_cod_eta, o_ETA_DES_ETA, o_eop_fec_ini,o_eop_os_eop,o_eop_ide_eop,O_OAC_FEC_REG, O_num_alertas ,O_TxtError})}".
well, in this server, MSDAORA not work, we change this to OraOLEDB.Oracle. however, when i try to execute this query, show me this error: "ORA-06550: line 1, column 90: PLS-00201: identifier 'O_OPE_IDE_OPE' must be declared ORA-06550: line 1, column 7: PL/SQL: Statement ignored"
i can found that is because the syntax resultset is only from MSDAORA. but, how i can replace this problem?
the stored procedure have input parameters of number and varchar2, but the output parameters are type "Table of varchar2" declared in the spec of the package.
and i can't modify the database to add a ref cursor.
the procedure (and examples of declares):
TYPE T_NUMERIC_10 IS TABLE OF NUMERIC(10)
INDEX BY BINARY_INTEGER;
TYPE T_VARCHAR2_5 IS TABLE OF VARCHAR2(5)
INDEX BY BINARY_INTEGER;
TYPE T_VARCHAR2_50 IS TABLE OF VARCHAR2(50)
INDEX BY BINARY_INTEGER;
PROCEDURE SP_OPERACIONES_CLIENTES(
i_WPC_USU_RUT IN NUMBER,
i_ver_todos IN NUMBER,
I_FEC_DESDE IN VARCHAR2,
I_FEC_HASTA IN VARCHAR2,
I_ESTADO IN VARCHAR2,
I_APELLIDO IN VARCHAR2,
I_RUT_CLI IN VARCHAR2,
o_ope_ide_ope OUT T_NUMERIC_10,
o_ope_fec_reg OUT T_VARCHAR2_50,
o_cli_ide_cli OUT T_NUMERIC_10,
o_tir_cod_tir OUT T_VARCHAR2_10,
o_CLI_RUT_CLI OUT T_NUMERIC_11,
o_CLI_DIV_CLI OUT T_VARCHAR2_1,
o_CLI_NOM_CLI OUT T_VARCHAR2_50,
o_CLI_APE_PAT OUT T_VARCHAR2_50,
o_CLI_APE_MAT OUT T_VARCHAR2_50,
o_eta_cod_eta OUT T_VARCHAR2_5,
o_ETA_DES_ETA OUT T_VARCHAR2_50,
o_eop_fec_ini OUT T_VARCHAR2_50,
o_eop_os_eop OUT T_VARCHAR2_255,
o_eop_ide_eop OUT T_NUMERIC_5,
O_OAC_FEC_REG OUT T_VARCHAR2_1024,
O_num_alertas OUT T_VARCHAR2_10,
o_TxtError OUT T_VARCHAR2_255
);