I ran into a similar problem with the '?' character with an earlier version of DBD:Oracle (possibly 1.03, maybe older) a couple of years ago. My (ugly) workaround was to invoke SQLPlus on a pipe and have it compile the package.
open SQLSESSION, "|\$ORACLE_HOME/bin/sqlplus -S "; print SQLSESSION "${oracleUser}/${oraclePassword}\@$host\n"; print SQLSESSION "set scan off\n"; print SQLSESSION $packageText; print SQLSESSION "/\n"; print SQLSESSION "\nexit\n"; print SQLSESSION "\n"; close (SQLSESSION); Or you could upgrade your DBI and DBD. -Chris > -----Original Message----- > From: Steve Baldwin [mailto:stbaldwin@;multiservice.com] > Sent: Thursday, October 24, 2002 3:22 PM > To: [EMAIL PROTECTED] > Subject: Fwd: Creating wrapped PL/SQL packages using DBI > > > I didn't hear any response on this. Can anyone please help me ? > > Thanks, > > Steve > > ---------- Forwarded Message ---------- > > Subject: Creating wrapped PL/SQL packages using DBI > Date: Tue, 22 Oct 2002 11:25:24 +1000 > From: Steve Baldwin <[EMAIL PROTECTED]> > To: [EMAIL PROTECTED] > > I'm writing a perl script that reads the source of a PL/SQL > package from a > file, pre-processes it, optionally wraps it (using Oracle's > wrap utility), > and then executes it in the DB. > > If I don't wrap the file, everything works fine. However, if > I do wrap it, I > get the following error from the prepare method ... > > Can't mix placeholder styles (:foo/:1) at > /usr/local/lib/perl5/site_perl/5.6.0/i386-sco/DBD/Oracle.pm line 293 > > I somehow need DBD::Oracle to not scan the statement for bind > variables, coz > there aren't any. > > We're using DBI 1.14, DBD::Oracle 1.03, Oracle 7.3.3 (in case > that makes any > difference). > > Any clues ??? > > Steve > > P.S. > Here is a subset of the wrapped code ... > > create or replace package sb_test_p wrapped > 0 > abcd > abcd > abcd > abcd > abcd > abcd > abcd > abcd > abcd > abcd > abcd > abcd > abcd > abcd > abcd > abcd > 9 > 200f000 > 1 > 4 > 0 > 6 > 7 PACKAGE: > 9 SB_TEST_P: > 8 FUNCTION: > 2 F1: > 6 RETURN: > 6 NUMBER: > 0 > > 0 > 0 > 12 > 2 > 0 a0 1d 97 a0 8d a0 b4 > a0 2c 6a a0 :2 aa 59 58 17 > b5 > 12 > 2 > 0 3 7 8 10 14 21 25 > 26 2a 2e 32 36 38 3a 3d > 40 47 > 12 > 2 > 0 :2 1 9 2 b e 0 15 > > :2 2 5 :6 1 > > 12 > 2 > 0 :3 1 :3 2 0 :3 2 3 :6 1 > 49 > 2 > > :3 0 1 :4 0 2 :6 0 1 3 :3 0 > > 4 :a 0 a 2 5 :4 0 6 :3 0 > 7 > > ------------------------------------------------------- > > LEGAL NOTICE: Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this e-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately.