Re: Dynamic array in call to stored procedure

From: <semkin55_at_gmail.com>
Date: Fri, 30 May 2008 16:17:56 -0700 (PDT)
Message-ID: <07d9ba4b-828a-462e-969f-f6ad41b996e3@34g2000hsh.googlegroups.com>


On May 30, 5:44 pm, DA Morgan <damor..._at_psoug.org> wrote:
> semki..._at_gmail.com wrote:
> > How to do the following with Oracle 9:
>
> No such product. Provide full version information.
>
> > 1. allocate array of VARCHAR
>
> Look up ASSOCIATIVE ARRAYShttp://www.psoug.org/library.html
>
> > 2. allocate array of related index variables
>
> What does this mean?
>
> > 3. call stored procedure from C++ and pass parameters from step 1 and
> > 2.
>
> Look up EXTERNAL PROCEDURES athttp://tahiti.oracle.com
>
> > I can pass declared array, but how to pass allocated ?
>
> What does this mean?
>
> > Is it possible at all ?
>
> Of course. But we would need to have a far clearer description to
> know for sure what you are asking about.
> --
> Daniel A. Morgan
> Oracle Ace Director & Instructor
> University of Washington
> damor..._at_x.washington.edu (replace x with u to respond)
> Puget Sound Oracle Users Groupwww.psoug.org

Hi,
I use Oracle 9i. My code in C++ has to do the next:

...
EXEC SQL BEGIN DECLARE SECTION;

     VARCHAR*    pVar;
     short*             pInd;

EXEC SQL END DECLARE SECTION;
     pVar = new VARCHAR[ARRAY_SIZE];
     pInd = new short[ARRSY_SIZE];


EXEC SQL EXECUTE
     BEGIN
         Package.Procedure(:pVar, :pInd);
     END;

END-EXEC; C++ percompiler doesn't allow use pointer VARCHAR* and all my attempts to use some wrapper didn't help.
I can't compile C++ program, that calls stored procedure and use allocated array of VARCHAR.

Without using 'new'

     EXEC SQL BEGIN DECLARE SECTION;
             VARCHAR    Var[ARRAY_SIZE];
             short             Ind[ARRAY_SIZE];
     EXEC SQL END DECLARE SECTION;

 I can compile and run program

I hope now I provided enough details. Any suggestions ? Received on Fri May 30 2008 - 18:17:56 CDT

Original text of this message