Estou iniciando um projeto de migracão aonde tenho dois sistemas, um
desenvolvido em PHP acessando uma base Postgres e um em PL/WEB
acessando Oracle.
Atualmente a interacão entre os dois sistemas se da atravéz de
arquivos testos, scripts batch, etc. Nosso plano é unir os dois
sistemas usando o melhor de cada: PHP e Oracle.
Depois de uma certa briga, consegui fazer o PHP acessar o Oracle, fiz
alguns testes, consegui chamar umas procedures, porem me atrapalhei ao
chamar uma funcão...
Meu código esta assim:
$query = "begin pacote.funcaoOracleQualquer('".$parametro."');
end;";
$stmt = OCIParse($conn, $query);
$rs = ociexecute($stmt);
$err = OCIError();
print "<br>Error code = " . $err[code];
print "<br>Error message = " . $err[message];
print "<br>Error position = " . $err[offset];
print "<br>SQL Statement = " . $err[sqltext];
echo "<br><br>".ociresult($rs);
OCILogoff($conn);
O código esta bem "tosco", quando isso funcionar parto para
"perfuma-lo".
E o erro: ... PLS-00221: 'funcaoOracleQualquer' is not a procedure or
is undefined ORA-06550: line 1 ...
Agradeco desde ja pela atencão.
[]'s
Giusepe
A conexão está certa?
banco, usuário, sid certo?
consegue fazer algum select?
se é uma função tu pode chamar como SELECT
pacote.funcaoOracleQualquer('".$parametro."') FROM dual, tenta assim
--
Werner Petry Moraes
http://werner.inf.br/
ICQ: 71759171
Opa!
>
> A conexão está certa?
Sim.
> banco, usuário, sid certo?
Sim.
> consegue fazer algum select?
e Sim :-)
> se é uma função tu pode chamar como SELECT
> pacote.funcaoOracleQualquer('".$parametro."') FROM dual, tenta assim
>
Ah legal! ja estou tentando aqui... ainda dando erro mas diferente,
deixa eu tentar mais, mudar algumas coisas e repasso o resultado.
obrigado por enquanto!
--
Giusepe Casagrande
Alias, nem sabia que dava pra fazer isso :-)
Bom, sigo pesquisando e prcurando como fazer.
[]'s
--
Giusepe Casagrande
Se eu etivesse trabalhando sozinho eu assinava e dizia: sim é isso ai!
Mas tem alguem que cuida do oracle e eu do php, logo... nunca se sabe.
Vou revisar a funcao, ver como isso ta e dou um retorno.
Abracos!
--
Giusepe Casagrande
Ao menos foi esse erro que o Oracle me deu ao fazer o comando direto
no sqlplus e PLDEV.
Eu poderia tirar todo o tratamento de dentro da funcao e colocar no
php.. mas ai perde i sentido de ser, pois poderia mover tudo pro PHP
se quisesse.
Buenas, sigo na busca! heheh
--
Giusepe Casagrande
Não sei então, eu pelo menos nunca fiz nada do tipo rodar função sem
ser por query select. na época que eu estava tentando, não achei nada
na net que funcionasse.