Re: Call Oracle procedure with variables (D5)

From: Robert Klemme <shortcutter_at_googlemail.com>
Date: Thu, 09 Dec 2010 21:22:06 +0100
Message-ID: <8mcs3eF74tU2_at_mid.individual.net>



On 12/09/2010 11:21 AM, jodleren wrote:
> Hi all
>
> I have tried this, but it fails. I need to call a procedure (it works
> we do it all the time) with parameters.
> The Oracle code works in an SQL editor, now we need to have it in
> Delphi.
> This does not work. Any suggestions?
>
> Sonnich
>
> ora := TQuery.Create(nil);
> ora.DatabaseName := OraSession1.DatabaseName;
> ora.SQL.Text := '';
> ora.SQL.Add('declare');
> ora.SQL.Add(' inv wise.Vararasto_pack.vctable;');
> ora.SQL.Add(' jnumero wise.Vararasto_pack.intTable;');
> ora.SQL.Add(' qty wise.Vararasto_pack.floatTable; ');
> ora.SQL.Add('begin ');
> ora.SQL.Add(' inv(1) := ''inv''; ');
> ora.SQL.Add(' jnumero(1) := 123546; ');
> ora.SQL.Add(' qty(1) := -2; ');
> ora.SQL.Add(' begin wise.VarastopaikkaSiirrot(inv,jnumero,qty,''I'');
> end;');
> ora.SQL.Add('end; ');
>
> Field '=' is of unknown type
>
> So I tried:
>
> Using a ora2 := TStoredProc.Create(nil);
> ora2.DatabaseName := OraSession1.DatabaseName;
>
> I get : General SQL Error: Syntax Error or access violation
>
> Better, but how do I do this?

I dunno Delphy but are you sure you can use Add to add text to a single SQL statement? Maybe it's the batch interface and the driver thinks he's seeing a whole bunch of malformed statements. For the block to work it must be seen as a single SQL statement by Oracle.

Cheers

        robert

F'Up to comp.lang.pascal.delphi.databases Received on Thu Dec 09 2010 - 14:22:06 CST

Original text of this message