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.

Reply via email to