известные и неизвестные баги в OCI8

tony2001

TeaM PHPClub
известные и неизвестные баги в OCI8

Господа, нужна ваша помощь.

Большая просьба всем, кто страдает от этих багов:
http://bugs.php.net/search.php?cmd=display&status=Open&bug_type[]=OCI8+related
или от любых других в этом экстеншене, помочь их продуплицировать.
Важен, естественно, не сам факт утверждения "у меня тоже такой баг был", а наличие кода, на котором этот баг проявляется; номера версий (Apache, PHP, Oracle) и backtrace от gdb.

Если будут какие-либо вопросы - спрашивайте.
Заранее спасибо.
 

tony2001

TeaM PHPClub
кстати, если кто-нить собирает РНР под Виндой и использует при этом Оракл, то такой человек очень бы пригодился.
 

Ashotovich

Новичок
Там, насколько я помню, многие проблемы можно обойти, просто выбрав правильную версию Оракла:
- ставится Оракл 8.1.7, который в дистрибутиве содержит Apache, сконфигурённый под себя. Затем просто ставится PHP и в php.ini раскомментируются Оракловские библиотеки.
 

tony2001

TeaM PHPClub
честно говоря, я сомневаюсь, что это имеет какое-то отношение к багам в РНР.
 

Ashotovich

Новичок
Originally posted by tony2001
кстати, если кто-нить собирает РНР под Виндой и использует при этом Оракл, то такой человек очень бы пригодился.
Сорри, если не так понял. Думал, что есть просто какие-то проблемы в сборке Оракла+ПХП под виндой. ;)
 

Ashotovich

Новичок
Тады ой. С багами не сталкивался - признаюсь честно и откровенно. И очень сему факту рад. :)

P.S. Если не считать бага при установке самого Оракла - там установочная Java конфликтует с процессорами Pentium-4, и приходится извращаться - сливать дистрибутив Оракла на жестки диск и править конфиги - см. http://www.indiana.edu/~dms/databases/oracle/pentium_iv_bug_fix.htm
 

Ganer

Новичок
есть бага , но х.з. куда такое слать. берем базу с уникодом, и читаем цлоб (oci8), если цлоб привышает N мегов (у меня 20), оракле грит
ORA-24812: character set conversion to or from UCS2 failed
причем на клиенте (на пхп) стоит AMERICAN_AMERICA.AL32UTF8, с другими кодировками нормально.
еще прикольно что на 9.2.0.1
SELECT convert(myclob, 'UTF16','AL32UTF8') myclob FROM table
вообще крашит весь инстанс, а на 9.2.0.4
толька ORA выдает ...
может кто повторит ? :)

p.s. все на линухах (rh7.3&mandrake) и выньХР
 

tony2001

TeaM PHPClub
это все - баги оракла.
меня интересуют баги именно связки РНР+Оракл.
а точней - самого экстеншена.
 

Ganer

Новичок
Автор оригинала: tony2001
это все - баги оракла.
меня интересуют баги именно связки РНР+Оракл.
а точней - самого экстеншена.
Это не оракла, это фиг знает что - жава с jdbc нормально читает, значит фича в OCI8, но другие языки юзающие ODBC (а значит и OCI8) тоже нормально ... значит именно пхп умудряется что то послать ораклу.
 

tony2001

TeaM PHPClub
>читаем цлоб (oci8), если цлоб привышает N мегов (у меня 20), оракле грит
>ORA-24812: character set conversion to or from UCS2 failed
можно тут подробней?
как читаем-то? чем ты его читаешь?

>SELECT convert(myclob, 'UTF16','AL32UTF8') myclob FROM table
а вот это к РНР почти точно никакого отношения не имеет.
 

Ganer

Новичок
можно тут подробней?
как читаем-то? чем ты его читаешь?
---------
а разве есть варианты ?

$sql = "select myclob from clob_table where id = 1";
$stmt = OCIParse($conn, $sql);
OCIExecute($stmt);

if (OCIFetch($stmt)) {
$select = OCIResult($stmt, 1);
}

$xml_content = $select->load();
OCIFreeStatement($stmt);
echo $xml_content ;


>SELECT convert(myclob, 'UTF16','AL32UTF8') myclob FROM table
а вот это к РНР почти точно никакого отношения не имеет.
к пхп да, но к проблеме имеет :)
 

fisher

накатила суть
Re: известные и неизвестные баги в OCI8

Автор оригинала: tony2001
Господа, нужна ваша помощь...
по поводу этого:
http://bugs.php.net/bug.php?id=25123

Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
PHP 4.3.3
Zend Engine v1.3.0
php_oic8.dll, php.exe - все собрано "руками" на виндовой машине

баг _не_воспроизводится_, правда качал не с cvs, а по-простому tar.gz исходников с сайта, так что это не "4.3.3RC5-dev"

PHP:
<?php   

$conn = ocilogon("scott","tiger");
$stmt = ociparse($conn,'select dummy from more_dummies');

ociexecute($stmt);

ociexecute($stmt);
echo 'ocierror($stmt): ', print_r(ocierror($stmt)),"\n";
ocifreestatement($stmt);
ocilogoff($conn);

?>
ocierror($stmt): Array
(
Код:
 => 942
    [message] => ORA-00942: table or view does not exist

    [offset] => 18
    [sqltext] => select dummy from more_dummies
)

если интересно, попозже посмотрю в связке с апачем и для с пхп 5.0
 
Сверху