Question about passing a stored procedure file to DBD-Oracle

[email protected]
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Message-ID <OFEDC032FE.4327BDA7-ON85257834.005FCA1A-85257834.00608BA8@commerceinsurance.com>
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 
[email protected] 
Systems Analyst | IT Application Services | Desk: 508.949.4493 | Cell: 
774.633.9123 | ?Problems are the price of progress."-- Charles F. 
Kettering
(unnamed) (image/jpeg, 2.2 KB) - not displayed
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.