Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como chamar o pacote do php tendo procedimento no oracle usando drivers oci?


Tanto quanto me lembro, você deve especificar type e maxlength para oci_bind_by_name() para variáveis ​​retornadas do procedimento.

Assumindo :r é o OUT variável, tente:
oci_bind_by_name($stid, ":r", $r, 50, SQLT_CHR);

O código a seguir funciona para retornar um valor de um procedimento Oracle (Zend_Db_Adapter_Oracle versão):
$statement = $db->prepare('BEGIN oracle_procedure(:result); END;');
$statement->bindParam('result', $result, SQLT_CHR, 12);
$statement->execute();
echo $result;