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);
動作しません...変数は空を返します
私は匿名ブロックでテストし、動作します...
では、誰がこの変数を取得できますか? 感謝。