I'm sorry in advance if this is not the correct forum/mechanism to ask 
this question - I have been googling this for a while, as well as 
re-reading all of the CPAN man page for DBD-Oracle.

I need to pass a physical file( or the contents of that file), that 
contains code to create an Oracle stored procedure into DBD-Oracle.  So 
like SQL PLus, where I'd say  > @package.spb, I have been trying to do the 
same in every way imaginable with $DBH->prepare / do.   As of right now, 
this is not working:

      # load file contents 
      open (FILEDATA, "$sql");
      while ($record = <FILEDATA>) {
        print $record;
      }
      close(FILEDATA);
 
          # prepare the stored procedure
      if ($sth = $DBH->prepare( $record )){
        print $LOG "prepared: $HoH{$filename}{'full_filename'} \n"; 
 
        # execute the stored procedure
        if ($sth->execute()){
          print $LOG "it made it: $HoH{$filename}{'full_filename'} \n";   
          $HoH{$filename}{'build_state'} = 'COMPILED'; 
        } else {
          # update the hash, since we will not be loading this one
          print $LOG "couldnt excute: $HoH{$filename}{'full_filename'} \n"
; 
          $HoH{$filename}{'build_state'} = 'FAILED - COULD NOT EXECUTE';   
 
        }
      } else {
        # update the hash, since we will not be loading this one
        print $LOG "couldnt prepare: $HoH{$filename}{'full_filename'} \n"; 
 
        $HoH{$filename}{'build_state'} = 'FAILED - COULD NOT PREPARE';
      } # preparing sql  

When executed, I get:  DBD::Oracle::db prepare failed: ORA-24373: invalid 
length specified for statement (DBD ERROR: OCIStmtPrepare) at 
C:\Tronweb\TW_AUTOMATED_BUILDS\scripts\release_cvs_to_dev.pl line 261.

This file that I'm trying to prepare is small, and I've even set up my 
Oracle session as:

    #Open an Oracle session
    $DBH = DBI->connect( "dbi:Oracle:$sid", $usr, $pwd )
       or die "Unable to  connect to $sid: $DBI::errstr";
    $DBH->{RaiseError}  = 1;        # Shows the errors if CREATE PROCEDURE 
fails
    $DBH->{LongReadLen} = 5242880;
    $DBH->{LongTruncOk} = 0;

Do you have any suggestions for this dilemma?

THANK YOU for any advice / direction that you can provide!



T.j. Randall 
tran...@commerceinsurance.com 
Systems Analyst | IT Application Services | Desk: 508.949.4493 | Cell: 
774.633.9123 | ?Problems are the price of progress."-- Charles F. 
Kettering 



<<image/jpeg>>

Reply via email to