Bug #29608 OCi reports OCIStmtExecute: ORA-24324: service handle not initialized

Ganer

Новичок
Bug #29608 OCi reports OCIStmtExecute: ORA-24324: service handle not initialized

http://bugs.php.net/bug.php?id=29608

забавную вещь обнаружил - код из бага не работает, но если сверху обернуть своим клосом (под низом те же комманды eciparse, ociexecute) то все ОК.
похоже там где-то теряется обыкновенная переменая, а если это переменная объекта то все ОК. я так понимаю tony2001 - мантейнер, и может это дело пофиксит ?
 

Ganer

Новичок
судя по коментам в баге это кроссплатформеный баг, конкретно у меня Linux RH7.3, php 5.1, oracle10g
 

Ganer

Новичок
нада жать рефреш раз 20 после этого стабильно еррор, причем если подождать минут надцать разок ОК, а дальше опять глючит.

<?php
error_reporting(E_ALL) ;
$connect=ocilogon("xxx","xxx", "xxx");

$sql= "select 20 from dual";

$stream1=ociparse($connect, $sql) ;

$b=ociexecute($stream1);
if($b) {
echo "<br>Success<br>";
} else {
echo "<br>Failure<br>";
}

while(ocifetch($stream1))
{
$col=ociresult($stream1,"ID");
echo $col;
echo "<br>";
}
ocilogoff($connect);

?>

----------------

Warning: ociexecute() [function.ociexecute]: OCIStmtExecute: ORA-24324: service handle not initialized in /www/htdocs/test/test5.php on line 9

Failure

Warning: ocifetch() [function.ocifetch]: OCIFetch: ORA-24338: statement handle not executed in /www/htdocs/test/test5.php on line 16
---------------

а вот это работает, хотя класс запускает под низом те же oci команды.

<?php
error_reporting(E_ALL) ;

require_once("class/database.php");
require_once("class/resultset.php");


$connect=Database::getDatabase("xxx");

$sql= "select 20 from dual";

$stream1=$connect->prepare($sql);

$b=$stream1->execute($sql);
if($b) {
echo "<br>Success<br>";
} else {
echo "<br>Failure<br>";
}

while($row = $b->fetch())
{
var_dump($row);
}

?>
 

Ganer

Новичок
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0
PHP 5.0.1 качал со снапшота php5-200408160630.tar.gz, релиз чо-то не компилится.
Red Hat Linux release 7.3 (Valhalla)
Apache/1.3.31

щас проверю, кажется до этого ошибка проявлялость в standalone php без апача, но щас вроде все ОК (в standalone )

-~{}~ 18.08.04 12:26:

да без апача все ОК, проблема только в связке с апачем
 

tony2001

TeaM PHPClub
а клиент от какой версии оракла?

только что протестил: Oracle 9.2.0.1.0, PHP с CVS, Apache 1.3.31, Linux 2.4.20/ASP9.
честно держал рефреш 5 минут - повторить не могу.
 

Ganer

Новичок
от 10ки, у меня все на одной машине.

-~{}~ 18.08.04 14:59:

к стате с этой машины на 9.2.0.4 та же беда, т.е. 10-й клент к 9й базе.

-~{}~ 19.08.04 15:43:

так удалось увидеть баг ?
еще забавность - если апач минут 20 не трогать то скрипт 1 раз проходит нормально.
 

tony2001

TeaM PHPClub
Ganer: качать 10-й оракл ради того, чтобы поставить 10-й клиент и попробовать его с 9-м ораклом у меня особого желания нет.
когда они закончат Instant Client - попробую и с ним тоже.
 

Ganer

Новичок
а сколько разработчиков ораклового экстеншена всего ? я о том что его вообще кто-то пробывал с 10-ым клиентом ?
 

tony2001

TeaM PHPClub
Ganer
да, я знаю, что были люди, которые пробовали и у них все работало.
в том числе - из Oracle Inc.
 

Ganer

Новичок
так кроме тебя баг пофиксить в обозримом будущем кто-то сможет ?
а то что были люди я верю, вот только у этих же людей все и во пхп5 работало, вот только потом оказалось что session_start() и basic authorisation не пашет :)
 

tony2001

TeaM PHPClub
>так кроме тебя баг пофиксить в обозримом будущем кто-то сможет ?
общее кол-во разработчиков значительно больше одного.

>а то что были люди я верю, вот только у этих же людей все и во пхп5 работало,
>вот только потом оказалось что session_start() и basic authorisation не пашет
не понял эту сентенцию.
 

Ganer

Новичок
а это за клиента не проканает ?
http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html
 

tony2001

TeaM PHPClub
я про него и говорил. сами библиотеки - это хорошо.
но пока они не закончили Instant Client SDK, в котором будут хидеры.
 
Сверху