powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP и ORACLE работа с коллекцией
2 сообщений из 2, страница 1 из 1
PHP и ORACLE работа с коллекцией
    #38663249
erkatrina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уважаемые программисты, помогите!
есть сервер Apache2.2, PHP5.3.5, BD - Oracle 11g
в БД пакет:

create or replace package pf_privs_user is

type res_type is table of pf_system%rowtype;
function get_user_apps_ return res_type;

end pf_privs_user;

create or replace package body pf_privs_user
is

function get_user_apps_
return res_type
is
Result res_type;
begin
select * bulk collect into Result
from PF_SYSTEM t
where upper(t.system_prog) = (select substr(t.table_name,1,2)
from user_tab_privs t, dba_role_privs p
where t.grantee = p.GRANTED_ROLE and
p.GRANTEE=user and
substr(t.table_name,3)='_DATA_RECORD_WITH_PARAMETERS');
return(Result);
end get_user_apps_;
end pf_privs_user;

пытаюсь вызвать этот пакет в PHP:

$data=$this->dbcon->query('declare a pf_privs_user.res_type; begin a:=pf_privs_user.get_user_apps_; end;');

вот реализация функции query:

<?php

class DBConnector {
private $handler;
private $data;
private $nrows;

function __construct($servername, $port, $dbname, $login, $password){

$this->handler = OCILogon($login,$password,$dbname);
}
function getHandler(){
return $this->handler;
}

function query($querystr){
$s = OCIParse($this->handler, $querystr);
OCIExecute($s,OCI_DEFAULT);
if ($s)
$nrows=oci_fetch_all($s,$this->data);

return $this->data;
}

function __destruct(){
OCILogoff($this->handler);
}

}
?>

при попытке выполнить query()
ошибка в Apache error.log:

PHP Warning: oci_fetch_all() [<a href='function.oci-fetch-all'>function.oci-fetch-all</a>]: ORA-24374: \xed\xe5 \xf1\xe4\xe5\xeb\xe0\xed\xfb \xee\xef\xf0\xe5\xe4\xe5\xeb\xe5\xed\xe8\xff \xef\xe5\xf0\xe5\xe4 \xe8\xe7\xe2\xeb\xe5\xf7\xe5\xed\xe8\xe5\xec \xe8\xeb\xe8 \xe2\xfb\xef\xee\xeb\xed\xe5\xed\xe8\xe5\xec \xf1 \xe8\xe7\xe2\xeb\xe5\xf7\xe5\xed\xe8\xe5\xec in ...

Пожалуйста , подскажите в чем ошибка? пакетная функция отрабатывает нормально и возвращает коллекцию
...
Рейтинг: 0 / 0
PHP и ORACLE работа с коллекцией
    #38663542
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор: ORA-24374: define not done before fetch or execute and fetch
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP и ORACLE работа с коллекцией
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]