terça-feira, 13 de janeiro de 2009

LOB Oracle + PHP

Este blog iniciou com foco em JAVA, mas como não programo apenas em JAVA, e acabo encontrando problemas em outras plataformas e linguagens, vai se tornar mais comum posts relacionados ao PHP como o de hoje.
Neste post vou apenas colocar um exemplo de utilização de campo CLOB com ORACLE + PHP.

Abaixo, segue um insert em uma tabela com campo do tipo CLOB:


...

$sql = "UPDATE TABELA
SET CAMPO_DO_TIPO_CLOB = EMPTY_CLOB()
WHERE codigo = :par_codigo
RETURNING CAMPO_DO_TIPO_CLOB INTO :MYCLOB";
$res = @ociparse( $this->con, $sql );

// fazer os binds
$clob = oci_new_descriptor($this->con, OCI_D_LOB );
oci_bind_by_name( $res, ":MYCLOB", $clob, -1, SQLT_CLOB );
oci_bind_by_name( $res, ":par_codigo", $this->codigo, -1, SQLT_INT );

$exec = @ociexecute( $res, OCI_DEFAULT );

$exec_lob = $clob->save( utf8_decode( $this->corpo_de_email ) );

if ( !$res || !$exec || !$exec_lob )
throw new Exception( "Erro salvando os dados do email." );

$clob->free();
oci_free_statement( $res );



Espero em breve, após explorar mais sobre o assunto, criar uma documentação prática e simples para isso.

Nenhum comentário:

Postar um comentário