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;
>
>
>