There is a bug with pl/sql boolean parameters in ODAC 8.2.8.
I'm using Oracle 11.2 and Delphi XE2:
---
Code: Select all
create or replace procedure scott.b_test (b boolean) is
begin
null;
end;
Code: Select all
var
LSession: TOraSession;
LQuery: TOraQuery;
begin
LSession := TOraSession.Create(nil);
LQuery := TOraQuery.Create(nil);
try
LSession.ConnectString := 'user/password@server';
LSession.Connect;
LQuery.SQL.Text := 'begin scott.b_test(:b); end;';
LQuery.ParamByName('b').AsBoolean := True;
LQuery.Session := LSession;
LQuery.ExecSQL;
finally
LSession.Free;
LQuery.Free;
end;
end;
The error is:
PLS-00306: wrong number or types of arguments in call to 'B_TEST'