Re: Dynamic array in call to stored procedure
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