Boolean out parameter not working
rafaelmdbr opened this issue · 2 comments
rafaelmdbr commented
I have tried to get the value of boolean output parameters from procedure calls, but it is not working. When I call procedures that return record types, integers or strings, they work fine.
PROCEDURE pr_validar_processo_comprot(
wp_num_proc IN VARCHAR2,
wp_out_cod_retorno OUT BOOLEAN);
var v bool
params := []interface{}{
sql.Named("nr", numProcessoHab), // numProcessoHab is a string param
sql.Named("v", sql.Out{Dest: &v}),
}
sql :=
`begin
pk_judi_fachada_usuario.pr_validar_processo_comprot(:nr, :v);
end;`
_, err = conn.ExecContext(ctx, sql, params...)
Then I get the following error:
dpiStmt_execute(mode=32 arrLen=-1): ORA-06502: PL/SQL: numeric or value error ORA-06512: at line 2
Are Oracle PL Boolean types supported by Goracle/ODPI-C?
cjbj commented
FWIW my general recommendation is to not bind PL/SQL booleans unless both Oracle DB and the Oracle client libraries are 12.2 or later. However, if you have a homogeneous operating system environment you should be fine with earlier versions.