Neste exemplo informamos como chamar uma procedure que pertence a uma package do tibero na linguagem PHP usando o driver ODBC.
O código abaixo é um exemplo de como realizar esta tarefa.
Para saber como configurar uma conexão ODBC do Tibero no Windows clique Aqui.
Exemplo:
<?php
/*
How to run:
C:\php> php tibero.package.php
SQL support:
create table luiz.tb_phptst (text varchar(50));
create or replace package luiz.pkg_test
is
procedure pr_test_no_argument2;
procedure pr_test_with_arguments2(p1 varchar2, p2 varchar2, p3 varchar2);
end;
create or replace package body luiz.pkg_test
is
procedure luiz.pr_test_no_argument2
is
tm timestamp;
begin
SELECT SYSTIMESTAMP into tm FROM DUAL;
insert into luiz.tb_phptst values ('TEST OK - ' || tm);
end;
procedure luiz.pr_test_with_arguments2(p1 varchar2, p2 varchar2, p3 varchar2)
is
tm timestamp;
begin
SELECT SYSTIMESTAMP into tm FROM DUAL;
insert into luiz.tb_phptst values (p1 || p2 || p3 || tm);
end;
begin
null;
end;
*/
$dsn = "TIBERO6_32";
$user = "LUIZ";
$passwd = "luiz";
$check_date = date("U");
if ($conn = odbc_connect("$dsn", "$user", "$passwd"))
{
// NOTE: Always use "CALL", "EXEC" does not work.
$sql = "CALL luiz.pkg_test.pr_test_no_argument2;";
$stmt = odbc_prepare($conn, $sql);
$result = odbc_execute($stmt);
$arg1 = "It ";
$arg2 = "works ";
$arg3 = "fine ! - ";
// NOTE: Always use "CALL", "EXEC" does not work.
$sql = "CALL luiz.pkg_test.pr_test_with_arguments2(?,?,?);";
$stmt = odbc_prepare($conn, $sql);
$result = odbc_execute($stmt, array($arg1, $arg2, $arg3));
odbc_close($conn);
}
else
{
echo "Can not connect to DSN: $dsn";
echo odbc_errormsg();
exit(1);
}
$check_date2 = date("U");
$total_time = $check_date2 - $check_date;
echo "Elapsed time : $total_time\n";
?>
Nenhum comentário:
Postar um comentário