我需要在 PRO*C 中获取 VARCHAR2 变量的输出。此变量来自 Oracle 过程。事情是这样的:
这工作很好,
bzero(d_fecha_ejecucion.arr,20);
EXEC SQL SELECT
TO_CHAR(SYSDATE,'dd-mon-yy hh24:mi:ss') INTO :d_fecha_ejecucion FROM
DUAL;
sprintf(c_msg,"--->FECHA EJECUCIÓN: [%s]",(char *)d_fecha_ejecucion.arr);
但是当我尝试从这样的过程中获取变量(VARCHAR SV_desc_error)时:
EXEC SQL EXECUTE
BEGIN
PACKAGE.PROCEDURE_PR(:SN_num_ev, :SN_cod_msjerror,:SV_desc_error);
END;
END-EXEC;
bzero(SV_desc_error.arr,4000);
SV_desc_error.len = (unsigned short)strlen((char *)SV_desc_error.arr);
sprintf(c_msg,"--->Out PACKAGE.PROCEDURE_PR(SN_num_ev: [%d],SN_cod_msjerror: [%d],SV_desc_error: [%s])",SN_num_evento,SN_cod_msjerror,(char *)SV_desc_error.arr);
不工作...变量返回空
我使用匿名块进行测试并且可以工作...
那么,我可以得到这个变量吗?感谢。