David,
> numeric when passed a 6 digit number. Here is an example of how it is
> called within Oracle:
> DECLARE
> RetVal NUMBER;
>
> BEGIN
> RetVal := COLLEGE.SPISFINANCIAL ( 123456 );
> END;
Try calling it the same way wrapped in a begin end block in DBI
> eval {
> my $func = $dbh->prepare(q{
> BEGIN
> :retval := SPISFINANCIAL(:parameter1 // changes here
> );
> END;
> });
>
> $func->bind_param(":parameter1", '123456');
> $func->bind_param_inout(":retval", \$retval, 6);
> $func->execute;
> $dbh->commit;
> };
>
> if( $@ ) {
> warn "!! Execution of stored procedure failed!!\n$DBI::errstr\n";
> $dbh->rollback;
> }
>
> However, when I call $func->execute; DBD returns the error
"DBD::Oracle::st
> execute failed." followed by "PLS00201: identifier 'COLLEGE.SPISFINANCIAL'
> must be declared"
Are you connected to the same schema as the function was defined in?
In other words is there a function COLLEGE.SPISFINANCIAL
or does it belong to another schema?
David