Re: can OCIBindByName bind an in/out placeholder of plsql

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux