Austin,

I usually call my procedures with begin which would look
like...

my $csr = $dbh->prepare( "BEGIN
checkimages.getfrontpic(:1,:2,:3,:4,:5,:6); END;" ) ;

$csr->bind_param(1,$acctnbr);
$csr->bind_param(2,$checknbr);
$csr->bind_param(3,$seqnbr);
$csr->bind_param_inout(4,\$content_type,20);
$csr->bind_param_inout(5,\$content_len,20);
$csr->bind_param_inout(6,\$content_img,180000,{ora_type =>
ORA_BLOB} );
$csr->execute();

I've never worked with the blob datatype but you mith try
just...
$csr->bind_param_inout(6, \$content_img, 180000) ;

Alan



On Wed, 3 Oct 2001 16:46:36 -0700 
 Austin Durbin <[EMAIL PROTECTED]> wrote:
> I have a stored procedure that returns a a jpeg file as a
> blob. When I
> invoke this procedure I am receiving the following error:
> 
> DBD::Oracle::st execute failed: ORA-06553: PLS-306: wrong
> number of types of
> arguments in call to 'GETFRONTPIC'
> 
> Any suggestions as to what is wrong? Perhaps I just have
> a blind spot, but I
> am stopped dead as to how to solve this problem. I did
> run a trace, but
> frankly, the trace output did not mean much to me.
> 
> The parameters for the GETFRONTPIC stored procedure are :
> 
>  (   ord_procedure_path  IN varchar2,
>      ord_procedure_path2 IN varchar2,
>      ord_procedure_path4 IN varchar2,
>      ord_content_type   OUT VARCHAR2,
>      ord_content_length OUT NUMBER,
>      ord_content_blob   OUT BLOB
>    )
>    
> My perl code is (I removed some comments and error
> trapping to keep the
> message smaller):
> 
> my $dbh = DBI->connect("DBI:Oracle:",'userid@orabank','password')
>            or die "Cannot connect error: " . DBI::errstr;
> 
> $dbh->{LongReadLen} = 180000;
> $dbh->{LongTruncOk} = 1;
> 
> my $csr = $dbh->prepare( q{CALL
> checkimages.getfrontpic(?,?,?,?,?,?)}) ||
> die "Can't prepare statement: $DBI::errstr";
> 
> $csr->bind_param(1,$acctnbr);
> $csr->bind_param(2,$checknbr);
> $csr->bind_param(3,$seqnbr);
> $csr->bind_param_inout(4,\$content_type,20);
> $csr->bind_param_inout(5,\$content_len,20);
> $csr->bind_param_inout(6,\$content_img,180000,{ora_type
> => ORA_BLOB} );
> 
> $csr->execute;
> 
> 
> 

Reply via email to