Thies C. Arntzen wrote: >On Mon, Nov 04, 2002 at 06:16:04PM +0100, Fabien JOSEPH wrote: > > >>I discovered recently that it was impossible to bind an output >>placeholder plsql (an input work only). >> >>Configuration 1 : Suse + Oracle 8i17 + oci (oracle) + PHP4.2.3 >>Configuration 2 : HPUX11 + Oracle 8i17 + oci(oracle) + PHP4.2.3 >>Configuration 3 : HPUX11 + Oracle 8i17 + oci(oracle) + PHP4.2.2 >> >>With script : >>inoutdemo.sql >>CREATE OR REPLACE PROCEDURE inoutdemo (par_in IN VARCHAR2, >>par_in_out IN >>OUT VARCHAR2, par_out OUT VARCHAR2) IS BEGIN >>par_out:=par_in; >>par_in_out:=par_in||' '||par_in_out; END; >> >>$db=OCILogon("toto","titi"); >>$stmt=OCIParse($db,"BEGIN inoutdemo(:in,:inout,:out);END;"); >>OCIBindByName($stmt,":in",$in,32); >>OCIBindByName($stmt,":inout",$inout,32); >>OCIBindByName($stmt,":out",$out,32); >>$in="Hello "; >>$inout="World!"; >>OCIExecute($stmt); >>echo $in."\n".$inout."\n".$out."\n"; >> >> >>//Result >>Warning: OCIStmtExecute: ORA-06550: line 1, column 17: PLS-00553: >>character set name is not recognized ORA-06550: line 0, column 0: >> >> > ^^^^^^^^^^^^^^^^^^^^^^^^ > > i'd say you have a problem with your NLS_LANG setting. > re, > tc > > >>PL/SQL: Compilation unit analysis terminated in >>/opt/apache/htdocs/fab.php4 on line 58 >>Hello >>World! >> >>I tested this script with the 3 configurations but it's the same error >> >>I changed $in, &inout , &out into $&in, $&out, $&inout but it's the same >>error >> >>Please help me !!! >> >> >>Fabien JOSEPH >> >>-- >>PHP Database Mailing List (http://www.php.net/) >>To unsubscribe, visit: http://www.php.net/unsub.php >> >> > > > Thank you for your help but I set the NLS_LANG in my profile of user Oracle, and it's the same result. But I think it's not just the problem of the conversion of string The proof, I change my sql into : inoutdemo_number.sql CREATE OR REPLACE PROCEDURE inoutdemo_number ( par_in IN NUMBER, par_in_out IN OUT NUMBER, par_out OUT NUMBER) IS BEGIN par_out:=par_in; par_in_out:=par_in+1000; END; putenv( "ORACLE_HOME=/logi/ora817" ); putenv( "ORACLE_SID=MON_SID" ); putenv ("NLS_LANG=french_france.we8iso8859p1"); putenv ("ORA_NLS33=/logi/ora817/ocommon/nls/admin/data"); $db=OCILogon("toto","titi"); $stmt=OCIParse($db,"BEGIN inoutdemo_number(:in,:inout,:out);END;"); OCIBindByName($stmt,":in",$in,32); OCIBindByName($stmt,":inout",$inout,32); OCIBindByName($stmt,":out",$out,32); $in=5; $inout=5; OCIExecute($stmt); echo $in."\n".$inout."\n".$out."\n"; Result : <br /> <b>Warning</b>: OCIStmtExecute: ORA-06550: line 1, column 13: PLS-00553: character set name is not recognized ORA-06550: line 0, column 0: PL/SQL: Compilation unit analysis terminated in <b>/opt/apache/htdocs/fab.php4</b> on line <b>60</b><br /> 5 6 Conclusion, OciBindDyName with number (output) doesn't work. It is strange PHP. -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php