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("usr_adm","adm_inv");      
$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:
PL/SQL: Compilation unit analysis terminated in
/opt/apache/htdocs/fab.php4 on line 58
Hello 
World! 

I tested this script with the 3 configuration 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

Reply via email to