ActiveState Powered by ActiveState

ActiveState Community


perlapp causing Oracle error ORA-06550

Posted by vdozal on 2008-03-24 13:55

Hi,

I'm having the exact issue on this posting http://aspn.activestate.com/ASPN/Mail/Message/pdk/1822140

I have a module with a lot of database calls, works fine and compiles fine but when I run it it gives me this error:

DBD::Oracle::st execute failed: ORA-06550: line 1, column 6:
PLS-00103: Encountered the symbol "" when expecting one of the following:

   begin case declare exit for goto if loop mod null pragma
   raise return select update while with [an identifier]
   [a double-quoted delimited-identifier] [a bind variable] 
   close current delete fetch lock insert open rollback
   savepoint set sql execute commit forall merge pipe
The symbol "begin was inserted before "" to continue.
ORA-06550: line 2, column 57:
PLS-00103: Encountered the symbol "" when expecting one of the following:

   ( ) - + case mod new not null others [an identifier]
   [a double-quoted delimited-identifier] [a bind variable]
   table avg count current exists max min prior (DBD ERROR: error possibly near

The solution from the poster was to move the code into the script, but for me that will be very inefficient (code duplication = lot of maintenance).

I'm using PDK 7 with Perl 5.8.8

Is there a solution or workaround for this problem (other than the mentioned)?

Thanks,
Victor

grahams | Fri, 2008-04-18 16:27

Cases where the script runs and compiles, but the executable will not run almost always mean a missing dependency.

This can happen in scripts which use extensions that in turn rely on libraries not loaded by Perl's standard dynamic loading mechanism (i.e. DynaLoader or XSLoader). These additional libraries are not included automatically in the freestanding executable. Database client libraries are typical of the kind of external library which gets left out. If these libraries are not part of the freestanding executable, they must be present on the target machine and be accessible via the PATH environment variable. Alternatively (on Windows), you can bind such libraries into the executable using the --bind option in PDK.

-->